Skip to main content

Headless GTM: Apollo's CLI and MCP Bet, Explained [2026]

ยท 11 min read
Sunder Iyer
Founder, marketbetter.ai
Share this article

Apollo's developer page now leads with a sentence that would have read as satire two years ago: "Build headless GTM tools, agents, and pipelines on one API." Search, enrich, sequence, and analyze โ€” "no UI required."

That's not a feature announcement. It's a thesis about who the user of a sales platform is going to be. The term borrows from headless CMS โ€” content systems that dropped their front end and became pure APIs because other software, not people, consumed them. Apollo is making the same move with outbound: the app is now one of several front ends, alongside a command-line tool, an MCP server inside Claude and ChatGPT, and 70+ REST endpoints โ€” and Apollo's own numbers say a meaningful slice of its users have already stopped opening the app entirely.

We've been tracking this shift from the other side โ€” AI agents showing up in our own Search Console data, Demandbase coining "B2A marketing" for selling to agents, Attio rebuilding its CRM as a database for agents. Apollo's version is the execution-layer chapter of the same story. Here's what actually shipped, what the published numbers do and don't support, and a concrete play a sales team can run with it this week โ€” plus the part headless execution structurally can't solve.

What Apollo Actually Shippedโ€‹

Three ways into the same platform, aimed at three different consumers:

SurfaceWho it's forAuthAccess
REST API (70+ endpoints)Developers building integrationsAPI keyPricing page: "available on Custom plans"
Apollo CLIGTM engineers and agents running scheduled, scripted workflowsOAuth login, no API keyInstall is open; actions follow your account's permissions and plan limits
Apollo MCPReps working inside Claude, ChatGPT, or PerplexityOAuth, no setupEvery plan, including free โ€” "no separate MCP subscription"

Apollo's three access paths โ€” REST API, CLI, and MCP โ€” feeding one execution layer, with targeting still unanswered

The API is the oldest piece, and Apollo's framing of it is the sharpest positioning in the stack: "the only GTM API that exposes execution endpoints, not just data." Competitors sell data APIs; Apollo's API can create sequences, enroll contacts, log calls, and create tasks โ€” the doing, not just the knowing. That's the same gap we flagged when Salesloft and Clari shipped read-only MCP servers gated behind quote-only packages: an agent that can look but not act is a research assistant, not a teammate.

The CLI is the quietly interesting one. Apollo has been building it in public all year โ€” the GitHub repo appeared March 1, 2026, hit v1.0.0 on May 16, v2.0.0 on July 20, and shipped v2.2.0 on October 28, four days before this post. It installs via Homebrew or prebuilt binaries, authenticates with a browser OAuth flow (apollo auth login), and covers the platform surface: apollo people search, apollo people enrich, apollo companies search, apollo sequences create, apollo sequences add-contacts, apollo calls log, apollo tasks create, apollo usage credits. Output comes as JSON, JSONL, CSV, YAML, or a table โ€” which means it pipes into jq, cron jobs, and CI the way infrastructure tools do.

And the tell about who it's really for: the repo ships a Claude Code skill file so coding agents can drive the CLI natively, and Apollo markets the CLI as using "on average 25% fewer tokens than MCP for high-volume agent pipelines." That's a vendor benchmark with no published methodology โ€” but notice what's being optimized. Token efficiency is a cost metric for software, not people. When a sales vendor starts advertising token savings, it has concluded its next million users will be agents.

MCP is the volume play: free on every plan, two-minute OAuth setup, listed in the Claude and ChatGPT connector directories. Apollo says 40,000+ companies use it.

The Numbers โ€” and How Much to Trust Themโ€‹

Apollo published a use-case breakdown of MCP activity ("The Top 10 Use Cases of Apollo MCP, Based on 42K Queries," by Andy McCotter-Bicknell) plus stats across its developer pages. The headline figures:

  • 42,000 MCP tool calls in a 30-day window
  • 230M+ API calls per month, 500K+ teams on the API (Apollo's stats footer dates these to June 2026)
  • Roughly one-third of MCP users "never open the Apollo app at all"
  • 30% of those users were net-new Apollo customers who found Apollo through Claude

Standard caveats apply, and they're bigger than usual here: the 42K study has no methodology section, doesn't define whether "users" means accounts or people, doesn't anchor the 30-day window to a date, and gives no per-use-case volumes beyond naming bulk enrichment the highest. All of it is vendor-reported. Treat the precise numbers as marketing.

But the directional claims are worth taking seriously, because two of them are falsifiable business decisions rather than stats. Apollo made MCP free on every plan โ€” you don't do that unless chat-based usage is converting. And "30% net-new customers found us through Claude" is Apollo admitting that an AI assistant has become a customer-acquisition channel, which matches what Demandbase built an entire agent to measure and what we see in our own impression data. The distribution layer for B2B software is genuinely moving into assistants.

The use-case list itself is revealing in a less flattering way. The top workflows are bulk list enrichment, contact lookup by domain, email reveal, headcount research, CRM record creation, coverage audits, dedupe. In other words: agents are mostly doing data chores. The article's most ambitious category โ€” scheduled enrichment pipelines that run daily with nobody in the app โ€” is attributed to "some users." The headless future is real, but today it's a cleanup crew, not a selling machine.

The Play: A Nightly Prospect Watch From Your Terminalโ€‹

Here's the tactic worth stealing from the scheduled-pipeline pattern, scoped so it helps your reps instead of spamming your market.

Tactic at a glance

WhatA scheduled CLI job that finds new contacts matching one tight ICP slice, enriches them, and queues them for human review
WhoOne RevOps or GTM engineer to set up; SDRs consume the output
CostApollo credits per enrichment + an hour of setup; the CLI itself is a free install
Time to liveAn afternoon

The steps:

  1. Pick one narrow trigger, not your whole ICP. "New VP/Head of Data at 200โ€“1,000-employee US companies" is a trigger. "All SaaS decision-makers" is a spam cannon.
  2. Install and authenticate. brew install apolloio/apollo-io-cli/apollo-io-cli, then apollo auth login (browser OAuth โ€” no API key to provision, which also means no Custom-plan API negotiation to start). Confirm with apollo auth whoami.
  3. Script the search. Something like apollo people search --title "Head of Data" --seniority vp --per-page 25 --format jsonl, filtered to your account list, piped through jq to drop anyone already in your CRM.
  4. Enrich the survivors. apollo people enrich --email ... or bulk-enrich, then apollo contacts create to land them in Apollo with a label for the batch.
  5. Stop at a task, not a send. Create review tasks (apollo tasks create) so a rep approves every contact before any sequence touches them. Schedule the whole thing with cron.

The pitfalls โ€” all learned from Apollo's own docs:

  • apollo sequences add-contacts sends real emails to real people. Apollo's documentation warns about this explicitly. Keep the human gate; an unattended pipeline that ends in a send is how you torch a domain.
  • --industry filters expect Apollo's industry tag IDs, not free text โ€” free-text values can return HTTP 422 errors that silently empty your pipeline.
  • Credits are pooled and don't roll over. Put apollo usage credits in the job's logging so you see burn weekly, not at renewal. Where credits actually go is its own topic โ€” our Apollo pricing breakdown covers the tiers.
  • Free accounts need a work email for the search and enrichment commands, and Apollo's pricing page gates the API-key REST API to Custom plans while the CLI authenticates as your user. The published docs don't spell out exactly which plan unlocks what at CLI depth โ€” if you're building anything production-grade on it, get your plan's entitlements in writing first.

What to measure: contacts surfaced per week, percentage accepted by reps (if under half, your trigger is too loose), credit cost per accepted contact, and replies per accepted contact versus your manually-sourced baseline.

What Headless Execution Can't Solveโ€‹

Now the structural problem, and it's the same one we keep finding under every agent launch this fall.

Apollo's headless stack makes execution programmable: any agent can now search, enrich, enroll, and send without a human in the app. What none of those endpoints answer is the question that decides whether outbound works: which accounts should get attention today, and why?

Look back at the top-10 list. Every use case takes the target as input. The user โ€” or the agent's prompt โ€” already decided who matters; Apollo fetches, cleans, and executes. Scheduled pipelines automate the fetching on a timer. But a nightly cron job doesn't know that one of your target accounts hit your pricing page three times yesterday, that a champion from a closed-won deal just landed at a new company, or that an AI assistant researched you on behalf of someone at a strategic account. Signals pick targets; headless tools just make the execution cheaper โ€” and cheap execution pointed at the wrong accounts is spam with better unit economics. It's the same failure mode as intent data that stops at a dashboard, inverted: instead of insight with no action, you get action with no insight.

That's the layer we build for. MarketBetter starts from the signal โ€” who's on your site, which accounts are warming, what changed โ€” and turns it into a specific next action per account, with Loops handling the long-cycle nurture that a cron job can't reason about. We've written up how that differs from Apollo's approach in depth, and our full Apollo review if you're evaluating the platform itself; the short version is that the two layers compose. Headless execution plus a real targeting layer is a genuinely modern stack. Headless execution alone is a faster treadmill.

Worth watching next: Apollo's Builder Studio โ€” the natural-language agent builder it announced in the September agent-platform wave โ€” is still labeled "coming soon" and beta on Apollo's own site. When it ships, the CLI and API are the rails it will run on, which is presumably why Apollo built the rails first. Outreach made the same bet with its MCP suite. The execution layer of GTM is becoming open infrastructure; the intelligence layer is where the differentiation went.

The Bottom Lineโ€‹

Apollo's headless GTM push is the most developer-sincere thing a major sales platform has shipped this year โ€” a real CLI with signed binaries and an open repo, a free MCP server, execution endpoints competitors still don't expose. The vendor-reported numbers overstate the precision but not the direction: a growing share of GTM work is being done by software that never sees a UI.

Run the nightly-watch play; it's an afternoon of setup and it will genuinely save rep hours. Just don't mistake automated fetching for targeting. Your terminal can now execute outbound end to end โ€” it still can't tell you who's in-market this morning.

Want the targeting layer that decides what your headless stack should do next? Book a demo and we'll show you how signal-driven playbooks feed whatever execution tools you already run.

Share this article