Scrapingdog

Rotating Proxies

Scrapingdog's rotating proxies let you use a standard HTTP proxy configuration instead of the REST API. Point your scraper at the proxy exactly like any normal rotating proxy and request pages as usual.

Behind the scenes the proxy inspects the requested URL and transparently reroutes it to the matching Scrapingdog API (Google Search, Images, Shopping, News, Maps, Scholar, Bing, DuckDuckGo, Amazon, Walmart), returning the result as HTML. Any URL that doesn't match a dedicated API is scraped through the generic Web Scraping API (/scrape). From your side, it is simply "a proxy that returns the page HTML".

Endpoint: http://proxy.scrapingdog.com:8081
Proxy format: http://scrapingdog:[email protected]:8081

HTTP vs HTTPS: http:// targets work with no special flags. https:// targets work too, but your client must disable SSL verification (curl -k, Python verify=False, etc.) because the proxy terminates the TLS tunnel itself to read and reroute the URL. If you don't want to disable SSL verification, use the http:// form of the target URL β€” the proxy always fetches the https version from Scrapingdog either way.

API Parameters

πŸ”Œ

Proxy Configuration

  • Host Required
    proxy.scrapingdog.com

    Type: String
  • Port Required
    8081

    Type: Integer
  • Username Required
    scrapingdog

    Type: String
  • Password Required
    Your personal API key from your dashboard.

    Authentication uses standard proxy Basic auth (the Proxy-Authorization header).

    Type: String
βš™

️ Request Options (generic /scrape only)

  • dynamic Optional
    Enable JavaScript rendering. Maps to the Scrapingdog dynamic parameter.

    Type: Boolean
  • country Optional
    Geotarget the request using a two-letter country code (e.g. us). Maps to country.

    Type: String
  • stealth Optional
    Use stealth proxies. Maps to the Scrapingdog stealth_proxy parameter.

    Type: Boolean
  • premium Optional
    Use premium residential proxies. Maps to premium.

    Type: Boolean
  • wait Optional
    Wait this many milliseconds before capturing the page. Maps to wait.

    Type: Integer
πŸ“¨

How to Pass Request Options

  • Username directives Optional
    Encode the options directly in the proxy string as dotted key/value pairs. A bare directive means true.

    http://scrapingdog.dynamic=true.country=us.stealth:[email protected]:8081
  • X-Sd-* headers Optional
    Send options as per-request headers. These override any username directives.

    X-Sd-Dynamic: true
    X-Sd-Country: us
    X-Sd-Stealth: true
πŸ“‘

Response & Error Codes

  • Success Optional
    Always returned as Content-Type: text/html β€” the page HTML.
  • 407 Optional
    Proxy Authentication Required β€” missing or invalid proxy credentials.
  • 401 / 403 Optional
    Upstream Scrapingdog error (e.g. an invalid API key). The status and body are forwarded as-is.
  • 400 Optional
    The target URL could not be parsed.
  • 502 Optional
    The proxy could not reach Scrapingdog.
  • Health check Optional
    Unauthenticated endpoint for uptime monitoring:

    GET http://proxy.scrapingdog.com:8081/health β†’ {"status":"ok"}
πŸ“Œ

Notes & Limitations

  • Always fetches HTTPS Optional
    The proxy always requests the https version of the target from Scrapingdog, regardless of whether you used http:// or https://.
  • HTTPS needs insecure mode Optional
    Intercepting HTTPS requires your client to skip certificate verification. There is no way around this other than trusting a custom CA, or using the http:// form of the target URL.
  • Credit cost Optional
    Credits are billed per the specific API a URL routes to β€” a Google search costs Google Search API credits, not generic scraper credits. On /scrape, options like premium, stealth and dynamic change the credit cost.
  • Allowed options only Optional
    Only the documented option keys are forwarded; unknown keys are dropped. Clients cannot override api_key or url.

API Examples

Code to Integrate
# HTTP target (no special flags)
curl -x "http://scrapingdog:[email protected]:8081" \
     "http://www.google.com/search?q=coffee"

# HTTPS target (disable SSL verification)
curl -k -x "http://scrapingdog:[email protected]:8081" \
     "https://www.amazon.com/dp/B08N5WRWNW"

# With options (generic /scrape) via username directives
curl -k -x "http://scrapingdog.dynamic=true.country=us:[email protected]:8081" \
     "https://example.com"