My key is rejected
A401 means the key did not authenticate. In order of likelihood:
- The key was revoked. Check the dashboard: revoked keys stay listed.
- The header name is wrong. It is
X-API-Key, notAuthorization, for the REST API. - Whitespace crept in. A trailing newline from a shell variable is the classic one.
- You are using the key from a different workspace than you think.
Authorization: Bearer header instead.
I am getting 402
A402 means the workspace cannot cover the call. We check the balance before doing any work, so nothing ran and you were not charged.
Top up or upgrade in the dashboard. If the balance looks wrong, check whether the free credits expired: they are valid for 14 days from signup.
I am getting 429
You are over your plan’s requests-per-minute limit. Back off and retry: the response tells you how long to wait. If you are hitting the limit steadily rather than in bursts, that is a plan question rather than a retry question. The limit for each plan is on the pricing page.A page comes back empty or wrong
First, check thequality object on the response. It carries a confidence figure and flags, and it usually says what happened before you have to guess.
Some pages genuinely resist automated fetching. When we cannot deliver one, the response says so and you are not billed for it, so a failure costs you nothing but time.
If a page that should work does not, send us the URL. This is the single most useful thing you can send us: extraction quality is measured against real pages, and a URL that comes back badly is what moves the number. Write to [email protected] with the URL, what you expected, and what came back.
My crawl is slower than I expected
Crawls run as asynchronous jobs and pace themselves per host, because hammering one site is how you get blocked and how the site has a bad day. Depth, path rules and the page limit all affect how long a crawl takes. If you only need part of a site,excludePaths and a lower maxDepth will finish sooner and cost fewer credits. See Crawl.
Errors come back in one shape, and the request id is in it:
What to send when you write in
Include these and we can usually answer in one reply instead of three:- The request id. Every response carries an
x-request-idheader, and error bodies repeat it atmeta.requestId. It lets us find the exact call in our logs. - The URL you were fetching, if the problem is about a specific page.
- The workspace email you signed up with.
- What you expected and what you got.