ZenRows website screenshot

ZenRows

ZenRows is a Spanish web scraping platform headquartered in Madrid that lets developers collect public web data at scale without managing proxies, browsers, or CAPTCHAs. A single API key unlocks four products against a shared 55M+ residential IP pool across 190+ countries: the Universal Scraper API (HTTP scrape with JS rendering, anti-bot bypass, screenshots, CSS/AI extraction, and PDF/markdown output), the Scraping Browser (cloud Playwright/Puppeteer/CDP browser over WebSocket), Residential Proxies (HTTP/SOCKS5 with sticky sessions and country targeting), and a set of vertical Scraper APIs for Amazon, Google, Walmart, Zillow, and Idealista. ZenRows also ships first-party Python, Node.js, and Go SDKs, a Scrapy middleware, deep integrations across Playwright, Puppeteer, Selenium, Scrapy, LangChain, LlamaIndex, OpenAI Agents SDK, Zapier, n8n, Make, Pipedream, Node-RED, MuleSoft, Clay, and an official MCP server (hosted at https://mcp.zenrows.com/mcp and as @zenrows/mcp on npm) exposing scrape and 30+ browser automation tools to AI agents.

6 APIs 0 Features
Web ScrapingData ExtractionAnti-BotProxiesResidential ProxiesBrowser AutomationScreenshotsCAPTCHAAIMCPSpain

APIs

ZenRows Universal Scraper API

HTTP scraping API at https://api.zenrows.com/v1/ that fetches any URL with optional JavaScript rendering, anti-bot bypass via Adaptive Stealth Mode, premium residential proxies,...

ZenRows Scraping Browser

Cloud headless browser exposed over WebSocket at wss://browser.zenrows.com?apikey=KEY, compatible with Playwright, Puppeteer, and the underlying Chrome DevTools Protocol. Each s...

ZenRows Residential Proxies

HTTP and SOCKS5 residential proxy network with 55M+ IPs across 190+ countries, username/password authentication, country and world-region targeting (e.g. country-es for Spain), ...

ZenRows Scraper APIs

Vertical, structured-data scraper endpoints for major commerce and real-estate sites, sharing the api.zenrows.com authentication and credit model. Covers Amazon (ASIN lookup, di...

ZenRows MCP Server

Official ZenRows Model Context Protocol server that exposes the scraping platform to AI assistants. Available as a remote hosted server at https://mcp.zenrows.com/mcp with OAuth...

ZenRows SDKs

First-party SDKs that wrap the Universal Scraper API and Residential Proxies with automatic retries, exponential backoff, concurrency helpers, and ergonomic clients. Official SD...

Collections

Pricing Plans

Zenrows Plans Pricing

8 plans

PLANS

Rate Limits

Zenrows Rate Limits

12 limits

RATE LIMITS

FinOps

Semantic Vocabularies

Zenrows Context

0 classes · 19 properties

JSON-LD

API Governance Rules

ZenRows API Rules

5 rules · 1 errors 3 warnings 1 info

SPECTRAL

JSON Structure

Zenrows Scrape Request Structure

24 properties

JSON STRUCTURE

Example Payloads

Zenrows Scrape Url Example

2 fields

EXAMPLE

Resources

🔗
Website
Website
🔗
Documentation
Documentation
👥
GitHubOrg
GitHubOrg
💰
Pricing
Pricing
📝
Signup
Signup
🔗
Login
Login
📰
Blog
Blog
🔗
KnowledgeBase
KnowledgeBase
🟢
Status
Status
📄
ChangeLog
ChangeLog
💻
ErrorCodes
ErrorCodes
📜
Legal
Legal
🔗
ForbiddenSites
ForbiddenSites
🎓
Academy
Academy
🔗
LlmsText
LlmsText
🔗
LinkedIn
LinkedIn
🔗
XTwitter
XTwitter
💰
PlansAndPricing
PlansAndPricing
🔗
RateLimits
RateLimits
🔗
FinOps
FinOps
🔗
Vocabulary
Vocabulary

Sources

Raw ↑
opencollection: 1.0.0
info:
  name: ZenRows Universal Scraper API
  version: '1.0'
request:
  auth:
    type: apikey
    key: apikey
    value: '{{apikey}}'
    placement: query
items:
- info:
    name: Universal Scraper
    type: folder
  items:
  - info:
      name: Scrape a URL
      type: http
    http:
      method: GET
      url: https://api.zenrows.com/v1/
      params:
      - name: apikey
        value: ''
        type: query
        description: ZenRows API key for authentication.
      - name: url
        value: ''
        type: query
        description: Target URL to scrape (URL-encoded).
      - name: mode
        value: ''
        type: query
        description: Set to `auto` to enable Adaptive Stealth Mode anti-bot bypass.
      - name: js_render
        value: ''
        type: query
        description: Render the page in a real browser before returning content.
      - name: premium_proxy
        value: ''
        type: query
        description: Route the request through the residential proxy pool.
      - name: proxy_country
        value: ''
        type: query
        description: ISO 3166-1 alpha-2 country code for proxy geolocation.
      - name: custom_headers
        value: ''
        type: query
        description: Forward custom HTTP headers from the request to the target site.
      - name: session_id
        value: ''
        type: query
        description: Numeric session identifier that pins the same proxy IP across requests for up to 10 minutes.
      - name: js_instructions
        value: ''
        type: query
        description: Base64-encoded list of browser instructions (click, scroll, wait, fill, evaluate) to execute after page
          load.
      - name: wait
        value: ''
        type: query
        description: Fixed delay in milliseconds after page load before returning the response.
      - name: wait_for
        value: ''
        type: query
        description: CSS selector to wait for before returning the response.
      - name: block_resources
        value: ''
        type: query
        description: Comma-separated list of resource types to block during rendering (e.g. `image,stylesheet,font`).
      - name: css_extractor
        value: ''
        type: query
        description: URL-encoded JSON object mapping field names to CSS selectors for structured extraction.
      - name: autoparse
        value: ''
        type: query
        description: Automatically parse the page into a structured JSON object using ZenRows' built-in extractors.
      - name: json_response
        value: ''
        type: query
        description: Return the response wrapped in JSON, capturing network requests, XHRs, and metadata.
      - name: response_type
        value: ''
        type: query
        description: Convert the rendered response into another format.
      - name: screenshot
        value: ''
        type: query
        description: Capture an above-the-fold screenshot of the page.
      - name: screenshot_fullpage
        value: ''
        type: query
        description: Capture a full-page screenshot of the page.
      - name: screenshot_selector
        value: ''
        type: query
        description: CSS selector to scope the screenshot to a single element.
      - name: screenshot_format
        value: ''
        type: query
        description: Output format for screenshot bytes.
      - name: screenshot_quality
        value: ''
        type: query
        description: JPEG quality from 1 to 100 (only with `screenshot_format=jpeg`).
      - name: outputs
        value: ''
        type: query
        description: Comma-separated list of structured outputs to extract (e.g. `emails,phone_numbers,links,images`).
      - name: original_status
        value: ''
        type: query
        description: Return the target site's original HTTP status code instead of ZenRows' normalized 200/4xx/5xx.
      - name: allowed_status_codes
        value: ''
        type: query
        description: Comma-separated list of HTTP status codes for which content should still be returned.
    docs: Fetch and scrape any URL, optionally rendering JavaScript and routing through ZenRows' anti-bot, premium proxy,
      or geo-targeted proxy pool. Returns the rendered HTML by default, or a markdown/plaintext/PDF/JSON payload or a screenshot
      when the corresponding flags are set.
  - info:
      name: Scrape a URL With a POST Body
      type: http
    http:
      method: POST
      url: https://api.zenrows.com/v1/
      params:
      - name: apikey
        value: ''
        type: query
        description: ZenRows API key for authentication.
      - name: url
        value: ''
        type: query
        description: Target URL to scrape.
      - name: js_render
        value: ''
        type: query
      - name: premium_proxy
        value: ''
        type: query
      body:
        type: json
        data: '{}'
    docs: Variant of the scrape endpoint that forwards a request body to the target URL, used to scrape pages that only respond
      to POST.
bundled: true