workingproxysites.

API directory

Asynchronous Scraping APIs: Compare Jobs, Results & Retention

Compare managed asynchronous scraping jobs by URL submission, status polling, callbacks, result retrieval, failure handling and retention limits.

Choose a managed job workflow and account for every submitted URL.

  • Use a URL batch when you already know the inputs. A site crawl discovers links and needs a page limit and scope; it is a different input contract.
  • Persist returned job IDs, wait for terminal states and reconcile successful, failed and missing results against the submitted URLs. A submission acknowledgement is not a scraped page.
  • Choose polling or callback delivery, confirm whether the callback contains data, and save results before retention ends. Maximum batch size does not establish account concurrency or completion time.
4 documented listings

This collection covers our reviewed proxy and web-data catalog. It is not an exhaustive market survey or a performance ranking.

Category reviewed . Review due .

Choose the request and check the result

Use these documented differences to shortlist a setup. The full records and billing qualifications follow below. Go to filters and full records.

Swipe or scroll horizontally to compare request choices, checks and constraints.

Request choices, acceptance checks and constraints · alphabetical
API / taskRequest choiceWhat to checkCost or constraint
Firecrawl API

Choose known-URL batches or a bounded site traversal.

Use /v2/batch/scrape for a supplied URL list. Use /v2/crawl when links must be discovered; set a page limit and path scope for that traversal.Save the job ID, inspect job status and failed URLs, and follow any next-results link to collect the complete output. A completed job is not proof that every requested page returned usable content.Batch results are available through the API for 24 hours after completion. Store output promptly and check returned documents: captured target errors can still be billable.
Nimble Extract API

A completed batch still needs per-task result handling.

Use /v2/extract/async for one task or /v2/extract/batch for up to 1,000 URLs. Retain the returned task_id or batch_id.For one task, poll /v2/tasks/{task_id} until success or error. For a batch, poll /v2/batches/{batch_id}/progress until completed, then fetch /v2/batches/{batch_id} for task IDs and states. Fetch /v2/tasks/{task_id}/results for success tasks; handle error tasks separately.The same documentation gives both seven-day and 24–48-hour result-retention statements. Fetch promptly or configure your own storage; no single default retention guarantee is assumed.
Oxylabs Web Scraper API

Submission, completion notification and result download are separate steps.

Use Push-Pull to create jobs. /v1/queries/batch accepts up to 5,000 query or URL values according to the selected source; other parameters remain shared scalar values.Keep every returned job ID. Poll job status or receive the completion callback, then retrieve the results link. The callback signals completion; it is not the page payload.Each supplied value becomes a separate job. Results are documented as retained for at least 24 hours after completion; download and persist them when ready. Reconcile results against submitted IDs and inspect target outcomes; the batch limit is not account concurrency.
ScraperAPI

Retrieve jobs through status URLs or result-delivery callbacks.

Submit to the Async API; /jobs/batch accepts up to 50,000 URLs. Optional apiParams carry supported request settings and cost controls.Keep each job ID/status URL. Webhooks report successful requests by default; poll terminal status to account for failures too. The docs disagree on the failure-report option spelling, so verify it before relying on failure callbacks. Validate returned content separately from job completion.Jobs can run for up to 24 hours. Results last up to 72 hours (24 hours guaranteed) or until first retrieval, whichever comes first; persist the initial result and do not assume it can be fetched again. Rendering and target options change credits.

Compare documented requirements

4 of 4 listings
Clear filters

Swipe or scroll horizontally to compare requirements. Scroll back to the first column to see listing names.

API interfaces, outputs and billing · alphabetical
API / serviceInterface & outputDocumented behaviorBilling & restrictionsEvidence
Firecrawl APIFirecrawl · official publisher

Compare Firecrawl Markdown, HTML and JSON extraction, cache settings and credit charges. Choose a request format and check target status before accepting data.

Details & setup →Sourced JSON record
HTTP API

markdown, HTML, JSON, screenshot

Scraping API
Known page or whole site
POST /v2/scrape reads one URL. For a site traversal, /v2/crawl starts an asynchronous job. Give crawl an explicit page limit and path scope before starting.[1][5]
Markdown response
Request formats: ["markdown"]. Raw HTTP returns content in data.markdown inside a success/data envelope; SDKs return the data object directly.[1]
HTML choices
Use formats: ["html"] for cleaned page HTML at data.html. Use formats: ["rawHtml"] for unmodified page HTML at data.rawHtml. These formats preserve markup; Markdown is the text-oriented choice.[1]
Structured fields
Use a formats object with type: "json" and a prompt or JSON Schema for fields from a known page. Raw HTTP returns the extracted object at data.json. A JSON response envelope alone does not request extraction. Agent is a separate choice when source URLs must be discovered.[1][2]
Freshness
The documented cache default permits data up to two days old. Set maxAge: 0 when the task needs a fresh fetch; this does not guarantee that the target returns the desired page.[1]
Accepting the response
An API HTTP 200 or success: true is not sufficient. Inspect data.metadata.statusCode and the requested content: a captured target 403 or 404 can be returned and billed.[1][3]
Credit decision
For an ordinary returned page, Markdown uses the 1-credit base. JSON extraction totals 5 credits before other options. Extra modifiers stack; optional browser sessions have a separate billing basis.[3][2]
No-document exceptions
Ordinary scrapes that return no document generally cost 0 credits. Paid guards, threat scans and other documented options have exceptions; a returned error page is still a document.[3]
Authentication and capacity
Anonymous Scrape has daily per-IP limits. An account API key uses the team plan and shared request limits. Crawl, Map and batch requests require authentication.[4]
Rate limits versus target errors
A Firecrawl 429 can mean request-rate or concurrency limits. Inspect the response, respect Retry-After when provided and reduce load; repeating a captured target error is a separate decision.[4][6]

Credits per returned page, with option charges. An ordinary scrape is 1 credit; schema-guided JSON adds 4. Account plans and anonymous limits are separate. Check detailed billing before enabling extra options.

Requirements & limitations
  • This record covers the hosted HTTP scraping interface. Self-hosted Firecrawl and local MCP deployment have different dependencies and available services.
  • JavaScript rendering and returned fields are documented capabilities, not a measured success rate or a guarantee for every target.
  • Anonymous daily caps differ from the authenticated Free account plan. The reviewed rate-limit page does not publish a numeric keyless allowance.
  • Cached responses can remain billable. Optional extraction, guards, documents and browser operations can change credit usage; do not assume every failed call is free.
Documentation checkedReview due
8 source references
Nimble Extract APINimble · official publisher

Fetch HTML, Markdown and screenshots with configurable rendering, CSS parsing, browser actions and asynchronous batches.

Details & setup →Provider discussionSourced JSON record
HTTP API

HTML, JSON, markdown, PNG

Scraping API
Formats
The formats array selects HTML, Markdown, Base64 PNG screenshots and response headers.[1]
Rendering
render defaults to false; true enables JavaScript and auto lets Nimble select the configuration.[1]
Parsing and actions
CSS parsing schemas, browser actions and network-capture rules are supported.[1]
Async processing
Async and batch submissions return before processing finishes; poll task or batch progress for completion.[2]
Billing
Extraction Tools are listed at USD 1 per 1,000 URLs, with charges only for successful requests.[3]

Successful URL extractions; public API pricing lists USD 1 per 1,000 URLs for Extraction Tools.

Requirements & limitations
  • The Extraction Tools price is distinct from paid Extraction Templates, Search and Web Search Agent products.
  • Exact concurrency limits and all driver-specific constraints were not verified in this pilot.
Documentation checkedReview due
4 source references
Oxylabs Web Scraper APIOxylabs · official publisher

Fetch public pages or use dedicated target parsers, with rendered HTML and asynchronous batch delivery.

Details & setup →Provider discussionSourced JSON record
HTTP API

HTML, JSON, PNG

Scraping API
Authentication
Use a Web Scraper API user's username and password with HTTP Basic authentication, rather than dashboard credentials.[1]
Rendering and parsing
render=html enables JavaScript rendering. Dedicated supported targets accept parse=true for structured JSON.[1]
Delivery choices
Realtime keeps the connection open; Push-Pull retrieves jobs asynchronously; Proxy Endpoint offers a proxy interface.[2]
Batch size
Push-Pull accepts up to 5,000 query or URL values per batch; Realtime and Proxy Endpoint do not support batch.[2]
Screenshots
render=png returns a Base64-encoded screenshot.[2]

Product-specific plan and target rates; exact costs and failed-request rules were not verified in this pilot.

Requirements & limitations
  • Dedicated parsers apply to supported targets, not every arbitrary URL.
  • Proxy Endpoint accepts fewer additional parameters than the HTTP integrations.
  • Exact plan pricing and failed-request billing remain unverified.
Documentation checkedReview due
4 source references
ScraperAPIScraperAPI · official publisher

A scraping HTTP API with optional rendering, premium proxy pools and asynchronous requests.

Details & setup →Provider discussionSourced JSON record
HTTP API

HTML, JSON

Scraping API
Rendering
render=true returns HTML after JavaScript execution; wait_for_selector requires rendering.[1]
Credit examples
The documented parameter table lists 10 credits for rendering, 25 for premium plus rendering, and 75 for ultra-premium plus rendering.[2]
Billable outcomes
HTTP 200 and 404 responses are charged, as are client-cancelled requests when the client allows less than 70 seconds.[2]
Cost inspection
The account/urlcost endpoint estimates request cost and the sa-credit-cost response header reports actual credits.[2]
Concurrency
Concurrency is plan-dependent; the Async API supports batch requests.[3]
Structured extraction
autoparse=true and dedicated structured-data endpoints parse supported sites and target types; ordinary URL fetching is not a universal field-extraction contract.[1][4]

API credits determined by target domain and request options.

Requirements & limitations
  • The listed rendering credits are configuration examples; protected domains and special targets can change total cost.
  • A target 404 can still be billed.
  • Unused subscription credits do not roll over.
Documentation checkedReview due
8 source references

How to use this comparison

Prepared by WPS directory editorial from the linked primary documentation.

Compare the documented request interface, output and account product before checking price. A JSON response can contain raw HTML; it does not by itself establish structured extraction. A browser action in one request does not by itself establish a reusable browser session.

Each row keeps the publisher’s billing basis and restrictions alongside its sources. Unknown prices or limits remain unknown. These are documentation reviews; no live connection, purchase or comparative performance test is claimed.

Review dates show when the documentation was checked. Overdue records remain visible with a label; recheck those sources before choosing a service.

The collection JSON link covers the whole category before filters.

Suggest a correction · Affiliate disclosure · Collection JSON records