1. Scrape
ScrapingDuck API Docs
  • Actions
    • Returns example action objects for each available action.
      GET
  • Browser
    • Executes a list of browser actions.
      POST
    • Fetches the full HTML content of a web page.
      GET
    • Extracts the main article content from a web page.
      GET
  • Devices
    • Gets the list of all available device names.
      GET
    • Gets detailed information for a specific device.
      GET
  • Scrape
    • Fetches the raw HTML source of a web page as a direct text/html response.
      GET
    • Fetches the full scraping result including HTML content and metadata (JSON response).
      GET
    • Extracts the main article content from a web page.
      GET
    • Extracts the main article content as Markdown-friendly text.
      GET
    • Captures a screenshot of a web page as a binary image.
      GET
    • Submits a batch of URLs for asynchronous scraping. Returns 202 Accepted with a batch ID immediately. Results are delivered via webhook callback or polled via GET /v1/scrape/batch/{batchId}.
      POST
    • Polls the status of a previously submitted batch scrape job. Results are retrieved from the webapp's persistent storage.
      GET
  • Billing
    • Estimates the credit cost of a browser automation request without executing it.
      POST
    • Estimates the credit cost of a batch scrape without reserving credits.
      GET
  • Search
    • Performs a web search and returns unified results from SearXNG, TinyFish or Brave Search.
      GET
  • Sessions
    • Opens a new interactive browser session. Creating a session is free; each step is billed.
      POST
    • Lists the caller's active sessions.
      GET
    • Gets a session's metadata and current page snapshot.
      GET
    • Closes the caller's session. Idempotent: always returns 204.
      DELETE
    • Executes a single browser action in the caller's live session.
      POST
  • Schemas
    • ActionExecutionMeta
    • BrowserAction
    • BatchItemResult
    • BrowserActionResult
    • BatchScrapeRequest
    • BrowserActionResultActionExecutionResponse
    • BatchScrapeResponse
    • BrowserAutomationRequest
    • BatchWebhookMeta
    • DeviceContextOptionsDto
    • BatchWebhookPayload
    • BillingEstimateResponse
    • DeviceDetailDto
    • ProblemDetails
    • PublicBrowserAutomationRequest
    • ResultData
    • BrowserActionResultSessionStepResponse
    • ValidationProblemDetails
    • ViewSettings
    • SearchResponse
    • SearchResultItem
    • SessionOpenedResponse
    • SessionSummaryDto
    • TrafficSource
ScrapingDuck
  1. Scrape

Submits a batch of URLs for asynchronous scraping. Returns 202 Accepted with a batch ID immediately. Results are delivered via webhook callback or polled via GET /v1/scrape/batch/{batchId}.

POST
https://api.scrapingduck.com/v1/scrape/batch
Last modified:2026-10-04 11:19:25
All URLs in the batch share a single browser context for efficiency. Each URL is processed
with VisitUrlAction + GetHtmlAction in sequence. Credits are reserved when the batch is accepted.
Example Request:
    POST /v1/scrape/batch?disableJavaScript=true
    {
      "urls": [
        "https://example.com/page1",
        "https://example.com/page2"
      ]
    }
Possible error codes:
400 (validation_error): Too many URLs or invalid request body.
401 (unauthorized): The API key is missing or invalid.
402 (payment_required): Insufficient credits for the requested batch.

Request

Authorization
API Key
Add parameter in query
apiKey
Example:
apiKey: ********************
or
Query Params

Body Params
application/json

Examples

Responses

🟢202
application/json
Accepted
Body

🟠400
🟠401
🟠402
Request Request Example
Shell
JavaScript
Java
Swift
curl --location 'https://api.scrapingduck.com/v1/scrape/batch?deviceName=&locale=&timezone=&disableResourceExclusion=&useAdvancedSpoofing=&disableJavaScript=&useResidentialProxy=&apiKey=%3Capi-key%3E' \
--header 'Content-Type: application/json' \
--data '{
    "urls": [
        "https://example.com/page1",
        "https://example.com/page2"
    ]
}'
Response Response Example
202 - Success
{
    "batchId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
    "totalUrls": 3,
    "estimatedCost": 9,
    "availableCredits": 500,
    "statusUrl": "/v1/scrape/batch/a1b2c3d4-e5f6-7890-abcd-ef1234567890"
}
Modified at 2026-10-04 11:19:25
Previous
Captures a screenshot of a web page as a binary image.
Next
Polls the status of a previously submitted batch scrape job. Results are retrieved from the webapp's persistent storage.
Built with