Provider list and base costs
Detailed pricing
Sync request surcharge
All sync monitor requests (/v1/monitor/*) include a +2 credit surcharge on top of the base cost and any feature add-ons. Async and batch requests (/v1/async/*) are not affected.
Google Search multi-page pricing
HTML responses are included at no additional cost. Maximum 10 pages per request. Google News uses the same multi-page pricing, without the AI Overview option. Read
X-Credits-Charged on the response for the exact charge of a request.
ChatGPT additional features
AI Mode additional features
Setting
include.expandProducts: true returns a productResults array with per-merchant offers for each product cluster. The surcharge scales with the clusters Google actually returns — three clusters cost 4 + 3 = 7 credits, none costs the base 4. Expansion covers at most 6 clusters per scrape, so the ceiling is 10 credits. The charge is applied after the scrape completes and appears in X-Credits-Charged on sync responses.
Feature comparison
Query fan-out support
Query fan-out reveals the search queries that providers use internally to gather information. Useful for understanding how models break down complex prompts.
AI Overview and AI Mode do not expose
result.searchQueries. Google does not include that data in the rendered HTML it serves to anonymous users.
Shopping cards support
Shopping cards provide structured product information including pricing, ratings, offers, and merchant details.
Cards only appear when the prompt is product-related and the provider returns product data — even then they aren’t guaranteed. See Why aren’t shopping cards appearing in my responses? for prompt examples.
Ads support
Ads extraction provides structured advertising data from provider responses, including advertiser branding, destination URLs, and product carousel cards.State-level targeting
Pass the USPS two-letter code asstate alongside country: "US" to target a specific state:
GET /v1/states?country=US for the full list of codes (50 states + DC).
Google Search, AI Overview, and AI Mode use
location / uule for sub-country targeting instead. Google News supports country only — it has no sub-country targeting.
Other features
Unsupported providers
cloro does not currently scrape the following providers. The list covers the most common requests we receive and is updated as coverage changes.
To request a provider, let us know at r/cloroapi. We cannot commit to dates and will not scrape services that require authentication.
Common questions
How does cloro retrieve data from AI providers?
cloro retrieves data from AI surfaces (ChatGPT, Perplexity, Copilot, Gemini, etc.) using real browser sessions routed through proxy infrastructure — not direct API calls. Key implications:- Geo proxy routing: each request routes through a proxy in the country (and, for US requests on supported providers, the state) you specify — the AI provider sees that location’s anonymous user.
- Model routing: cloro does not control which model the provider uses; that is the provider’s decision (e.g., ChatGPT cycles between
gpt-5-3andgpt-5-3-minibased on its own logic). - Authentication walls: cloro cannot access content that requires a logged-in session. If a provider begins requiring login in a region, requests from that region will fail until the provider relaxes the requirement.
- Response fidelity: the
htmlfield is the actual page the provider rendered;result.*fields are extracted from that page.
Does the country parameter change the response language?
No. country controls geo-routing, not language. Most providers infer language from the prompt itself, so to get a Spanish response from a Mexico-targeted request, write the prompt in Spanish. Mixed-language prompts (English prompt + non-English country) often work but can produce inconsistent localisation — for best results, match the prompt language to the target country.
I targeted one country but the response references another — is the proxy broken?
Almost always the proxy applied correctly and what you’re seeing is model behavior, not routing:- Pre-trained answers leak through. A model trained heavily on US English content sometimes defaults to US-centric references even when served from another region. The proxy was applied; the model ignored the regional context.
- The prompt overrides the geography. A prompt like “best pizza in Cincinnati” returns Cincinnati results from any proxy. The location affects what the search layer sees, not what the user asked for.
- Sources are the strongest signal. Inspect
result.sources. Sources from the targeted country’s domains (.de,.fr,.com.ua) confirm the proxy worked. Diverse sources with US-centric prose is model bias, not a routing bug. - HTML proof. Request
include.html: trueand inspect the rendered page — the chrome (language, currency, regional UI) reflects where the request was actually made from.
taskId and the country you submitted.
A country worked last month but now returns 400 errors. What changed?
Provider availability shifts week to week as upstream products roll out regional changes. RefreshGET /v1/countries?model=<provider> before assuming a regression — the supported list is the source of truth and it does change. If the country still appears in the list but requests keep failing, reach out with the taskId — paid plans via the in-dashboard support widget, free tier via the Ask Assistant button in these docs.
Why is ChatGPT (or Copilot) suddenly failing for a specific country?
Some AI providers intermittently require login for anonymous users in specific regions, blocking the anonymous session cloro uses. This is not a cloro infrastructure issue — it resolves when the provider adjusts its regional access controls, on a timeline cloro does not control. If your failure rate from a specific country consistently exceeds ~30%, reach out — paid plans via the in-dashboard support widget, free tier via the Ask Assistant button in these docs. The status page (status.cloro.dev) does not track per-region provider breakdowns.