The scraper for SEO
and AI SEO.
One API for ChatGPT, Perplexity, Gemini, AI Overview, and Google. Real answers, real sources, at any scale.
No credit card. Live in 60 seconds.
curl -X POST https://api.scrapinator.com/v1/scrape/chatgpt \
-H "Authorization: Bearer sk_live_••••" \
-H "Content-Type: application/json" \
-d '{
"prompt": "best CRM for early-stage startups",
"country": "US",
"language": "en",
"include": { "markdown": true, "sources": true }
}'{
"success": true,
"surface": "chatgpt",
"markdown": "### Best CRMs for early-stage startups\n\n1. **Attio** — modern, flexible, great for produc…",
"sources": [
{
"url": "https://attio.com/blog/best-crm-startups",
"title": "Best CRMs for startups in 2025 — Attio",
"cited_text": "Attio is built for the way modern startups actually work."
},
{
"url": "https://www.ycombinator.com/library/8r-startup-crm-guide",
"title": "Y Combinator: choosing your first CRM",
"cited_text": "Most YC companies start on HubSpot or Attio before $1M ARR."
}
],
"queries": [
"best CRM early stage startup 2025",
"Attio vs HubSpot startup",
"free CRM seed stage"
],
"entities": [
"Attio",
"HubSpot",
"Folk",
"Pipedrive"
]
}- 99.9% uptime
- Sub-minute responses
- Millions of captures / month
- SOC 2 in progress
Structured data with a single API.
Every major SEO and AI SEO surface, at any scale, across regions.
Direct LLM APIs have hidden costs.
Four problems every SEO and AI SEO team hits — and how we fix them.
User interface is king
API responses are nothing like the UI. Direct LLM endpoints hide what users actually see.
No sources, no citations
Direct provider APIs strip the one signal that matters for AI SEO.
Multiple integrations
ChatGPT, Perplexity, Gemini, AI Overview — each one is a separate engineering project.
Unpredictable cost
Token-based pricing changes by model and provider. Forecasting becomes guesswork.
Three lines. Every engine.
Get back markdown, sources, citations, queries, entities, and shopping cards — pulled clean from each response.
import { Scrapinator } from "scrapinator";
const sc = new Scrapinator({ apiKey: process.env.SCRAPINATOR_KEY });
const { result } = await sc.scrape({
surface: "chatgpt",
prompt: "best CRM for early-stage startups",
country: "US",
});
console.log(result.markdown);
console.log(result.sources);That's it. Same shape for every surface.
One schema. Every surface.
Same response shape whether you ask ChatGPT or Google News. No special-casing.
Markdown / text / HTML
The answer in whatever format you need.
"markdown": "### Best CRMs\n1. Attio\n2. HubSpot Free"Sources & citations
Every cited link, in order, with the exact quoted text.
"sources": [{ "url": "...", "cited_text": "..." }]Search queries
The queries the engine ran behind the answer.
"queries": ["best crm 2025", "Attio vs HubSpot"]Entities
Brands, products, and people mentioned.
"entities": ["Attio", "HubSpot", "Y Combinator"]Re-parse, free
Schema changed? Re-parse any saved capture. Zero credits.
await sc.reparse({ captureId: "cap_2W5x..." })Raw capture
DOM and screenshot saved with every request.
"raw": { "html_url": "...", "screenshot_url": "..." }What cloro doesn't do.
We're not the first scraper for AI engines. We just go further on the things that actually break in production.
| Feature | DIY | cloro.dev | Scrapinator |
|---|---|---|---|
| Real-browser UI capture | |||
| ChatGPT / Perplexity / Gemini coverage | |||
| AI Overview + AI Mode | |||
| Sources + citations parsed | |||
| Re-parse old scrapes — free | |||
| Auto-failover between capture paths | |||
| Typed SDKs (TypeScript + Python) | |||
| Predictable credit pricing | |||
| Async + webhooks |
Pricing that scales with you.
Pick a plan that fits your volume. Re-parse old captures — always free.
Starter
- 10,000 credits
- 5 concurrent
- Async + webhooks
- Email support
- Re-parse — free
Growth
Popular- 60,000 credits
- 25 concurrent
- Async + webhooks
- Priority email + Slack
- Re-parse — free
Scale
- 300,000 credits
- 100 concurrent
- Async + webhooks
- Dedicated Slack channel
- Re-parse — free
No token math. Ever.
Every surface has a flat cost in credits. You always know what a query will cost — and saved captures re-parse for free.
| Google Search / Google News | 1 credit |
| AI Overview / AI Mode | 2 credits |
| ChatGPT / Perplexity / Gemini | 3 credits |
| Re-parse a saved capture | 0 credits |
| Async + webhook delivery | Same price |
See what you'd pay.
Slide the captures. Adjust the surface mix. Get a real number.
Most teams pay less than they did with cloro — and re-parsing old captures stays free.
The questions teams actually ask.
Still wondering whether Scrapinator fits? Talk to us — we'll send you a sandbox key and walk you through the surfaces you actually need.
SOC 2 Type II in progress. EU and US data residency. Captures encrypted at rest.
- The OpenAI API doesn't return what users actually see. No sources, no citations, no AI Overview, no AI Mode, no shopping cards. If you do AI SEO, the UI is the product — the API is a different surface.
Run SEO and AI SEO scrapes at any scale.
One API. Every engine. Real answers. Real sources.
No credit card. Live in 60 seconds.
import { Scrapinator } from "scrapinator";
const sc = new Scrapinator({ apiKey: process.env.SCRAPINATOR_KEY });
const { result } = await sc.scrape({
surface: "chatgpt",
prompt: "best CRM for early-stage startups",
country: "US",
});
console.log(result.sources);