New to Corsair? See API access, authentication, and error handling.
Account
asyncInfo
account.asyncInfo
Read the async pool concurrency, active jobs and credits left; costs nothing
Risk: read
/me on the async host. The provider spells its credits field AvaliableCredits; this exposes it as available_credits.
Output
info
account.info
Read the subscription state, concurrency limit and requests left this month; costs nothing but is limited to 10 calls a minute
Risk: read
/info. A bad token answers HTTP 200 with IsActive: false, which this turns into an error. Limited to 10 calls a minute.
Output
Jobs
cancel
jobs.cancel
Cancel a queued or running job; a finished job cannot be cancelled
Risk: write
Cancels a queued or running job. A job that already finished answers 406.
Output
get
jobs.get
Read an async job with its status and one entry per target
Risk: read
A job can be
queuing, queued, pending or rotating before it reaches success, error or canceled; keep polling until it reaches one of those three. Each task is pending before the pool picks it up, rotating while it runs, then success or error. Queueing latency is the provider’s: a one-URL job can finish in about a second or wait over a minute when its pool is busy, so poll with a real deadline rather than a fixed attempt count.
Output
tasks full type
tasks full type
job full type
job full type
list
jobs.list
List async jobs with paging
Risk: read
Pages through the account’s jobs, 10 per page by default.
Output
jobs full type
jobs full type
result
jobs.result
Read one task result with the page content, its status and when it expires
Risk: read
Returns the task content, its status, and
expires_at. Read it before then, because Scrape.do drops the content afterwards.
Output
start
jobs.start
Start an async job for up to 100 URLs and return its job and task ids; results are held by Scrape.do until they expire
Risk: write
Takes up to 100 URLs and returns a job id plus one task id per URL. Results are held by Scrape.do until they expire. Set
webhookUrl to have them POSTed instead of polled.
Output
Scrape
html
scrape.html
Fetch a page through the proxy with its status code; costs credits that vary by proxy and rendering
Risk: read
Returns the body as it comes and the target status beside it. A target 404 or 410 returns its page and still costs a credit, which is why the status is reported rather than thrown.
Output
json
scrape.json
Fetch a page as a JSON report with its status, content and network requests
Risk: read
Sets
returnJSON=true and renames the answer to status_code, content, network_requests and websocket_requests. The network log is empty without render.
Output
network_requests full type
network_requests full type
websocket_requests full type
websocket_requests full type
frames full type
frames full type
markdown
scrape.markdown
Fetch a page and return it converted to Markdown
Risk: read
Sets
output=markdown. The answer starts with - Meta: and - Title: lines for the page metadata, then the body.
Output
screenshot
scrape.screenshot
Render a page in the headless browser and return base64 PNG screenshots
Risk: read
Requires
render: true and always sets returnJSON=true, because the live API answers 400 for a screenshot without it. fullPage and selector (a CSS selector for one element) are mutually exclusive.
Output