Teams that used the Apify Apollo actors from n8n or Make lost that path in September 2025. The Apollo Exporter API is the replacement: two endpoints, a bearer token, and the same verified file the web app produces.
Endpoints
Base URL: https://app.apolloexporter.com/api/v1. Authenticate with Authorization: Bearer <token> from the API tab in your account.
| Method and path | Purpose |
|---|---|
POST /exports | Start an export from an Apollo search URL |
GET /exports/{id} | Poll status and counts |
GET /exports/{id}/download?format=csv | Download the finished file (also xlsx) |
POST /webhooks | Register a URL to receive a completion event |
Start an export
curl -X POST https://app.apolloexporter.com/api/v1/exports \
-H "Authorization: Bearer $APOLLO_EXPORTER_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"url": "https://app.apollo.io/#/people?personTitles[]=head%20of%20sales&personLocations[]=United%20States&contactEmailStatusV2[]=verified",
"maxRows": 2500,
"verify": true,
"headers": ["first_name","last_name","title","company","email","email_status","linkedin_url"]
}'
Response:
{ "id": "exp_01J9X4K2", "status": "queued", "estimatedRows": 2500, "createdAt": "2026-10-08T09:12:44Z" }
Poll
curl https://app.apolloexporter.com/api/v1/exports/exp_01J9X4K2 \
-H "Authorization: Bearer $APOLLO_EXPORTER_TOKEN"
{ "id": "exp_01J9X4K2", "status": "running", "page": 37, "rows": 925, "valid": 684, "catchAll": 171, "invalid": 70, "billedRows": 855 }
Status moves through queued, running, paused (your Apollo session needs attention, for example a logout), done and failed. On done the download endpoint returns the file.
Limits
The API inherits Apollo’s 100-page render cap, so one export returns at most 2,500 rows. To go past that, split the search by headcount or location and start one export per band; the open-source parser does the split and returns the URLs. Exports run one at a time per Apollo profile, at a human pace, so a 2,500-row job typically completes in minutes rather than the 11 to 48 hours cloud services quote. Measured timings are on the methodology page.
Open source: the Apollo search-URL parser
The URL parser, validator and splitter that power the free URL tool are published on GitHub under an MIT licence. It is a single TypeScript module with no dependencies that turns an app.apollo.io/#/people?... link into a filters object, strips page and view parameters, and emits one URL per headcount band. Use it to validate links before they reach the API, or in your own tooling.
import { parseApolloUrl, splitByHeadcount } from 'apollo-search-url';
const search = parseApolloUrl(url); // { kind: 'people', filters: {...}, warnings: [...] }
const urls = splitByHeadcount(search); // 11 URLs, one per headcount band
The repository link is in the footer once the package is published; the module is identical to what runs in the tool on this site.
n8n, Make and Clay
- n8n and Make: an HTTP Request node for
POST /exports, a Wait node, thenGET /exports/{id}in a loop untilstatusisdone, then an HTTP node to download. Or register a webhook and skip the loop. - Clay: use an HTTP API column to start the export and a second column to fetch the download URL; import the CSV into a new table.
- Google Sheets: the Apps Script
UrlFetchAppworks with the same two calls.
The Apify alternative page maps the old actor inputs to these calls for teams migrating a workflow.