Rate limits & credits
Usage is metered in credits. Each endpoint has a known cost, debited atomically from your balance on every call.
Credit costs
| Endpoint | Cost | Notes |
|---|---|---|
| POST /scrape | 1 credit | Per URL. |
| POST /search | 2 credits | Per query. |
| POST /map | 1 credit | Per domain. |
| POST /crawl | 1 credit / page | Reserved up-front based on limit. |
| POST /extract | 2 credits | Per structured extraction. |
| POST /screenshot | 1 credit | Per screenshot. |
| POST /summary | 1 credit | Per page summary. |
| POST /batch-scrape | 1 credit / URL | Reserved up-front based on URL count. |
| POST /branding | 1 credit | Per brand extraction. |
| POST /question | 5 credits | Natural-language Q&A grounded on a page (LLM-backed). |
| POST /highlights | 5 credits | Top relevant snippets from a page for a query. |
| POST /parse | 1 credit | PDF / document parsing. Long PDFs may bill more. |
| POST /interact | 2 credits | Per click / type / script call on a scrape session. /interact/stop is free. |
| neuroapi_interact (MCP) | 2 credits | MCP equivalent of /interact. |
Concurrency
Each account has a per-plan concurrency cap on in-flight API requests (default 2 on the free tier; higher on paid plans). Exceed it and the API returns 429 concurrency_limit_exceeded — lower your parallelism or upgrade your plan.
Separately, when the upstream worker pool is saturated you'll receive an HTTP 503 upstream_busy — retry with backoff. For sustained higher concurrency, contact us about a dedicated tier.
Topping up
Subscribe to a plan in Dashboard → Billing for monthly credits that auto-refill, or buy credit packs on demand. Balances roll over until the end of the billing period.
Insufficient credits
If your balance is below a request's cost the API returns
402 insufficient_credits without debiting anything.