POST /v1/inspect
Drive the session’s browser to a URL, capture all network traffic for a period, and return a report of the site’s API calls, auth signals and asset loading. Use it to find the JSON endpoints behind a page before you scrape it. Auth: Bearer API key. Request:
Request:
async_mode: true the answer is a job envelope:
result is the report above once status is done.
Concurrency: three captures may run at once per API key, counted across the whole service. A fourth answers 429 too_many_concurrent_inspects with Retry-After: 5, X-RateLimit-Limit: 3, X-RateLimit-Remaining: 0. Run concurrent captures on separate sessions; captures on one session contend for the same browser and can time out against each other.
Errors:
Notes:
- Timing: a 3 second capture answers in about 4.5 seconds. Anything that may run past 57 seconds in total must use
async_mode, so in practice a synchronousdurationabove about 10 seconds is a risk. - Billing: 1 action credit per capture on credit-funded accounts. Browser time is metered separately.
POST /v1/solve
Clear a challenge widget or interstitial blocking the page the session is on: hCaptcha, reCAPTCHA v2 and v3, Turnstile, a Cloudflare interstitial. You do not have to name the wall. Call it after a/navigate or /act hit a challenge, or after a /v1/fetch came back blocked, and carry on with the same session: the clearance stays on the tab that earned it.
Auth: Bearer API key.
Request:
Response:
A page without a challenge:
Notes:
- Timing: the default budget is 45 seconds, capped at 50 for synchronous calls and 180 for async calls. A timeout can return
solved: false,reason: "deadline", a separatedetail, andsession_kept: true. Comparereasonto"deadline"exactly. Retry withasync_mode: trueand a largertimeout(up to 180), or usePOST /v1/fetchwithasync_mode: truefor exit escalation within its 900-second job budget. For an IP-tied block, prefer fetch or rotate the exit. - Billing: 20 credits when
solvedis true (a solver ran and the wall is gone), including the case where the navigation itself cleared the wall. Nothing foralready_clearor a failed solve. - A
/v1/fetchthat comes backblockedhas usually already tried the solvers on its own;/v1/solveis for the page you are driving by hand.