An affordable, CLI agent-first SerpApi alternative — with a GTM engagement engine on top.
Point it at an ICP; get back a ranked list of real companies with phone numbers and warm LinkedIn leads — each with a brief your agent turns into outreach. You bring the browser + the LLM; the server never scrapes or runs completions.
Sound familiar?
😩 You built the product — now you need customers, and finding them by hand is soul-crushing.
💸 SerpApi / PhantomBuster want $100s a month — and you're pre-revenue, bootstrapping.
🔎 You search for your ICP and get job boards, directories and "Top 50" listicles — nothing you can actually reach out to.
🧑💻 You're a builder, not a seller — you'd rather your agent handle lead-gen than wrestle another GUI SaaS.
That's exactly who grepapi is for: a lead engine you (or your agent) run from the terminal — real companies with phones, warm LinkedIn & Reddit leads, each brief-ready. Cheap, because you bring the browser and the LLM.
The whole idea
# one topic in — real companies, phone numbers, and warm leads out grepapi run "éditeur logiciel Grenoble" → 40 leads ranked & actioned (9 job-ads / directories dropped) { "name":"Defacto Technologies", "source":"maps", "score":18, "action":"call", "phone":"04 76 56 65 07" } { "name":"Digital League", "source":"linkedin", "action":"comment" } grepapi brief <lead-id> # → lead + your playbook + a precise instruction; # your agent/LLM writes the actual message
Fat client, thin server. The client fetches + parses locally (your browser, your session). The server plans the search, qualifies + scores results, and briefs the action — it never touches a target site (nor runs LLM completions), so it's cheap to run and carries no proxy/ToS risk.
What you actually get
$ grepapi leads [ { "name":"Defacto Technologies", "action":"call", "phone":"04 76 56 65 07", "score":18 }, { "name":"NowTeam · Infogérance PME", "action":"call", "phone":"04 58 00 55 50", "score":16 }, { "name":"Maincare Solutions", "action":"call", "phone":"05 57 89 65 00", "score":18 }, { "name":"Digital League", "source":"linkedin", "action":"comment", "score":10 } ]
$ grepapi brief <lead-id> { "action": "call", "brief": { "lead": { "name":"Defacto Technologies", "phone":"04 76 56 65 07" }, "playbook": "intrane.fr — fractional senior architects for SME tech teams…", "instruction": "Write an opening line for a cold call to Defacto Technologies. Reference their context; 1-2 sentences; warm; no pitch." } } → your agent/LLM writes the actual copy
Every lead is deduped, scored, and given an action — call (a real
business + phone), comment (a warm LinkedIn engager),
reply (a redditor asking for what you offer),
research (a web candidate to qualify). The brief carries everything
your agent needs to write the message; grepapi never writes it (or bills you for tokens).
Work it like a pipeline: grepapi mark <id> contacted ·
grepapi leads --new (only what's left) ·
grepapi leads --csv to export. Next week's run surfaces just the
new leads — deduped against everything you've already worked.
Why not just search?
"éditeur logiciel Grenoble" gives you job ads (meteojob, jooble, "CTO … H/F"), directories (pagesjaunes, societe.com), and "Top 50 startups" listicles. Almost nothing you can actually call.
The same topic returns real local companies with phone numbers (Defacto, CORYS, AViSTO, NowTeam…), ranked, plus people already discussing "CTO de transition" on LinkedIn — each deduped, scored, and brief-ready. Junk filtered, verified businesses on top.
Google, Bing, DuckDuckGo, Maps, Reddit and more — titles, links, snippets, normalized. The affordable SerpApi alternative, minus the proxy bill.
Whoever is already posting about your ICP is your warmest lead. grepapi scores engagement across LinkedIn, Reddit, web + Maps into one ranked list — with the action to take (call · comment · reply · research).
Each lead comes with a brief — the scored context, your playbook, and a precise instruction — that your own agent/LLM turns into the message. Bring your own LLM; grepapi never runs (or bills) completions.
Fetching runs on your machine with your own session — grepapi's servers never scrape. Cheaper, more private, and it keeps you in control.
Built for agents
grepapi is agent-native by design. Every command prints JSON on
stdout, progress + typed errors on stderr, and
semantic exit codes (0 ok ·
80–89 input · 90–99 precondition · 100+ retryable) so an
agent can branch on failure. grepapi guide returns the whole model,
workflow and examples as JSON — an agent reads it once and drives grepapi with zero external docs;
grepapi help-json returns the command catalog; grepapi doctor --fix self-heals the environment.
The CLI is the interface — no SDK, no protocol to learn.
And grepapi next collapses the whole worklist into one call —
the single best next action right now (top lead + ready brief),
freshness-aware so a post from today beats a stale one. No sifting 100 leads; the tool decides, you act.
The split that makes it cheap: the operator is the LLM. grepapi does the deterministic work (plan, qualify, score, dedup, brief); your agent brings the fetch and the completion. No proxy bill, no token reselling.
# an agent loop — the tool decides, you act grepapi run # {ok, fetched, rows_submitted} while :; do n=$(grepapi next) # {action, lead_id, brief:{lead, playbook, instruction}} [ "$(jq -r .lead_id <<<"$n")" = null ] && break # … your LLM writes the message from $n.brief, freshest lead first … grepapi next --done # sent — advance to the next best done
Pricing
€0
€29/mo
grepapi upgrade → Stripe Checkout
soon
Quick start
# install the CLI — you bring the browser; the server never scrapes curl -sSL https://grepapi.intrane.fr/install.sh | sh grepapi signup you@co.com # free account + token grepapi recipe find-a-partner "what you're building" # tuned hunt in ONE command # or: grepapi init (let your agent pick) · grepapi icp "fractional CTO Lyon" (custom) grepapi run # fetch (your browser) → scored leads grepapi next # the single best action, right now grepapi upgrade # → Stripe Checkout for Pro # Pro: add LinkedIn engagement leads (one-time, your own session) grepapi linkedin setup && grepapi linkedin login && grepapi linkedin up
API base: https://api.grepapi.intrane.fr · bearer-token auth · JSON.
The CLI is the whole agent interface — pipe it, script it, hand it to your agent.
FAQ
No. One install line, then grepapi signup / icp / run. It's a CLI, so it pipes, scripts, and an agent can drive it end-to-end. grepapi doctor --fix sets up anything missing.
That's why it's €29, not €299. No proxy farm to pay for, no LLM tokens to resell. You fetch from your own session; your agent writes the outreach from the brief. We sell the brains (planning, scoring, dedup, the data graph), not the commodities.
The server never scrapes. Fetching runs on your machine, with your own session, at your own pace — a personal automation tool, not a scraping farm. You stay in control of volume and identity.
No — each lead comes with a brief (the scored context, your playbook, and a precise instruction). Your own agent/LLM writes the message. grepapi never runs (or bills you for) LLM completions.
Yes — an opt-in +Calls add-on turns a lead's brief into an AI voice call in the lead's language: it discloses it's an AI, gets past the gatekeeper to the decision-maker, and books you a callback — then feeds the outcome back into ranking. BYO-Bland (bring your own Bland.ai key, you pay the per-minute cost); grepapi provides the calling brains. grepapi upgrade --calls.
Yes. As you mark leads won or skip, grepapi learns which source + action actually converts for you and re-ranks future leads accordingly — so grepapi next pushes what works to the top. It's transparent (grepapi usage shows the learned win-rates) and cold-starts neutral.
Google, Bing, DuckDuckGo, Maps and Reddit on every plan; the authed LinkedIn engagement graph on Pro. Each source gets the right action — call, comment, reply, research.
Your leads and notes are private to your account. A shared graph pools only public facts (a company domain, a phone number) to enrich everyone — never your private lists or outreach state.
50 new, distinct leads per 30 days. Duplicates and filtered junk (job boards, directories) don't count against you.