ScrapingDuck API Docs
ScrapingDuck
  1. Browser
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
  • Schemas
    • ActionExecutionMeta
    • BrowserAction
    • BrowserActionResult
    • BrowserActionResultActionExecutionResponse
    • BrowserAutomationRequest
    • DeviceContextOptionsDto
    • DeviceDetailDto
    • ProblemDetails
    • PublicBrowserAutomationRequest
    • ResultData
    • TrafficSource
    • ValidationProblemDetails
    • ViewSettings
ScrapingDuck
  1. Browser

Executes a list of browser actions.

POST
https://api.scrapingduck.com/v1/browser/actions/execute
Last modified:2026-02-11 10:03:19
This endpoint allows for the execution of a sequence of actions in a specified browser environment.
Default Behavior:
A realistic, rotating browser fingerprint will be used.
The browser's locale and timezone will be matched to the proxy's IP address geolocation.
Overrides:
Providing a deviceName uses that specific device profile.
Providing a locale or timezone will disable the automatic matching based on the proxy.
Invariants:
The actions list must contain at least 1 and no more than 50 items.
Actions are executed sequentially.
Any URL provided in an action must be an absolute URL using the http or https scheme.
Example Request:
{
  "actions": [
    { "type": "VisitUrlAction", "url": "https://example.com" },
    { "type": "GetHtmlAction" }
  ]
}
Possible error codes:
400 (validation_error): The request body is invalid. This can happen if the actions array is missing, empty, or if the JSON is malformed.
400 (too_many_actions): The number of actions in the actions array exceeds the server limit of 50.
401 (unauthorized): The API key is missing or invalid.
404 (device_not_found): The specified deviceName does not exist. A list of available devices can be retrieved from the /devices endpoint.
400 (unsupported_action): The type of an action in the actions array is not a recognized action.
400 (invalid_url_scheme): An action contains a URL that is not a valid HTTP or HTTPS URL.
500 (unhandled_error): An unexpected server-side error occurred during the execution of the request.

Request

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

Body Params application/json

Examples

Responses

🟢200
application/json
OK
Body

🟠400
🟠401
🟠404
🔴500
Request Request Example
Shell
JavaScript
Java
Swift
curl --location --request POST 'https://api.scrapingduck.com/v1/browser/actions/execute?deviceName&locale&timezone&disableResourceExclusion&useAdvancedSpoofing&disableJavaScript&apiKey=<api-key>' \
--header 'Content-Type: application/json' \
--data-raw '{
    "actions": [
        {
            "type": "VisitUrlAction",
            "url": "https://news.ycombinator.com"
        },
        {
            "type": "VisitRandomLinkAction",
            "viewTime": 5,
            "stayOnDomain": true,
            "goBack": true
        },
        {
            "type": "GetHtmlAction"
        }
    ]
}'
Response Response Example
200 - Success
{
    "executionId": "myApiKey_a1b2c3d4",
    "results": [
        {
            "type": "VisitUrlActionResult",
            "success": true,
            "data": {
                "status": 200
            }
        },
        {
            "type": "GetHtmlActionResult",
            "success": true,
            "data": {
                "html": "<!doctype html><html>...</html>"
            }
        }
    ],
    "meta": {
        "actionsRequested": 2,
        "actionsSucceeded": 2,
        "startedAtUtc": "2025-01-01T12:00:00Z",
        "finishedAtUtc": "2025-01-01T12:00:02Z",
        "durationMs": 2000,
        "responseSizeBytes": 1234,
        "maxActionsAllowed": 50
    }
}
Modified at 2026-02-11 10:03:19
Previous
Returns example action objects for each available action.
Next
Fetches the full HTML content of a web page.
Built with