On this page
Key takeaways
- API and MCP on every plan
- Remote MCP: https://scrapigator.com/mcp
- OpenAPI: /api/v1/openapi.json
Quickstart
Create an API key under API & agents, then list your exports:
curl https://scrapigator.com/api/v1/exports \ -H "Authorization: Bearer sgk_YOUR_KEY"
The full machine-readable reference is the OpenAPI 3.1 spec. Examples, Claude Code plugin and n8n templates are in the public GitHub repo.
Authentication
Send Authorization: Bearer sgk_… on every request. Keys are separate from your extension connection, so reconnecting the extension never breaks them. Each key has scopes:
| Scope | Allows |
|---|---|
account:read | Plan, usage, extension status |
exports:read | List exports, read rows, summaries, CSV links, dedupe check |
exports:write | Start and cancel exports |
deliveries:write | Add webhooks and send exports |
AI apps that support OAuth (Claude.ai, ChatGPT) connect with a sign-in and approval screen instead of a key.
Connect an AI app (MCP)
The remote MCP server is https://scrapigator.com/mcp (Streamable HTTP).
- Claude.ai, Claude Desktop, ChatGPT: add a custom connector with the URL above and approve it.
- Claude Code:
claude mcp add --transport http scrapigator https://scrapigator.com/mcp --header "Authorization: Bearer sgk_YOUR_KEY" - Cursor, VS Code, n8n MCP Client, Make, Zapier: use the same URL with an
Authorizationheader.
Tools
| Tool | What it does |
|---|---|
| scrapigator_start_export | Queue an export from a Sales Navigator search or list URL |
| scrapigator_get_export | Status, progress and what the user must do next |
| scrapigator_list_exports | Recent exports |
| scrapigator_summarize_export | Top companies, titles, seniority, locations + sample |
| scrapigator_get_leads | Filtered page of rows (max 100) |
| scrapigator_csv_link | Signed 15-minute CSV link for whole or filtered lists |
| scrapigator_check_exported | Which profiles you already exported |
| scrapigator_list_destinations / send_export / delivery_status | Send to webhooks and Google Sheets |
| scrapigator_account / cancel_export | Usage and cancelling |
Example prompts: “Export this Sales Navigator search, only people I haven’t exported, and tell me when it’s done.” “Which companies in my last export have three or more leads?” “Send yesterday’s export to my n8n webhook.”
Start an export
curl -X POST https://scrapigator.com/api/v1/exports \
-H "Authorization: Bearer sgk_YOUR_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: weekly-ctos-2026-10-12" \
-d '{"url":"https://www.linkedin.com/sales/search/people?query=...","only_new":true,"list_name":"CTOs fintech"}'The response is 202 with the export. Poll GET /api/v1/exports/{id}. Statuses:
| Status | Meaning |
|---|---|
needs_approval | The user must switch on “Allow agents to start exports” once, under API & agents. |
waiting_for_browser | Chrome with the extension is closed. It starts when Chrome is open. |
queued | The extension will pick it up within a minute. |
planning | Running. Searches over 2,500 leads are split automatically. |
running, paused | Collecting rows. Paused means a LinkedIn limit; it resumes automatically. |
finished, partial, failed, cancelled | Done. partial means LinkedIn did not return every row. |
Pass destination_id to have the rows sent to a webhook or Google Sheet when the export finishes.
Read and filter leads
GET /api/v1/exports/{id}/rows?title=VP&location=Germany&template=essentials&limit=100
GET /api/v1/exports/{id}/summary
POST /api/v1/exports/{id}/csv-link {"title":"VP","template":"crm"}Rows use cursor pagination (next_cursor). Filters are case-insensitive contains-matches: q, title, company, location, industry. CSV links are valid for 15 minutes and need no header.
Check what you already exported
POST /api/v1/identities/check
{"items":["https://www.linkedin.com/in/someone","https://www.linkedin.com/sales/lead/ACwAA..."]}Send to webhooks and Google Sheets
Add a webhook with POST /api/v1/destinations (connect Google Sheets once from the Exports page), then POST /api/v1/exports/{id}/deliveries. Webhooks receive batches of up to 100 rows, signed with X-Scrapigator-Signature: sha256=HMAC(secret, timestamp + "." + body), with a stable X-Scrapigator-Event-Id for deduplication. Failed sends retry with backoff.
Errors and limits
Errors look like {"error":{"code","message","hint"}}; the hint says what to do. Each key may make 120 requests per minute and 20,000 per day (429 with Retry-After). 402 means the Free plan’s monthly rows are used up.
All endpoints
| Method | Path |
|---|---|
GET | /api/v1/account |
GET | /api/v1/exports |
POST | /api/v1/exports |
GET | /api/v1/exports/{id} |
DELETE | /api/v1/exports/{id} |
GET | /api/v1/exports/{id}/rows |
GET | /api/v1/exports/{id}/summary |
POST | /api/v1/exports/{id}/csv-link |
POST | /api/v1/exports/{id}/deliveries |
GET | /api/v1/deliveries/{id} |
POST | /api/v1/identities/check |
GET | /api/v1/destinations |
POST | /api/v1/destinations |
DELETE | /api/v1/destinations/{id} |
Questions
Is the API available on the Free plan?
Yes. API and MCP access is included on every plan. The Free plan keeps its 100 rows per month limit; Pro has no monthly row limit.
Does an agent get access to my LinkedIn account?
No. Agents only queue exports. Your Scrapigator Chrome extension runs them in your own browser with its normal pacing, and the server never receives your LinkedIn login or cookies.
Why does my export say waiting_for_browser?
Exports run in your Chrome extension. Open Chrome with the extension signed in to Sales Navigator and the export starts within a minute.
Can an agent send LinkedIn messages or connection requests?
No. Scrapigator only exports search results and lists. There are no messaging, connection or profile-visit tools.
Export your next Sales Navigator search
100 rows a month free. Pro is $8/month with unlimited exports and a 7-day money-back guarantee.
