# ZenRows Docs ## Docs - [API Error Codes](https://docs.zenrows.com/api-error-codes.md): Complete list of ZenRows API error codes with troubleshooting steps, status code meanings, and solutions for common request failures. - [Explore ZenRows Academy](https://docs.zenrows.com/first-steps/academy-tab.md): Browse ZenRows Academy tutorials covering web scraping fundamentals, data extraction techniques, anti-bot bypass strategies, and Python automation. - [Changing your account email address](https://docs.zenrows.com/first-steps/change-email.md): Update your ZenRows account email address from your account settings, with steps for Google, GitHub, and password-based sign-in users. - [Content guidelines for ZenRows creators](https://docs.zenrows.com/first-steps/content-guidelines.md): A practical guide for partners creating content about ZenRows across blogs, video, newsletters, and communities. - [ZenRows General FAQ: Billing, Features, and Limits](https://docs.zenrows.com/first-steps/faq.md): Find answers to frequently asked questions about ZenRows web scraping, including billing cycles, supported features, and usage limits. - [Quick Setup and First Request](https://docs.zenrows.com/first-steps/getting-started-guide.md): Step-by-step quickstart guide to create your ZenRows account, get your API key, and send your first web scraping API request today. - [Managing Your Notifications and Usage Alerts](https://docs.zenrows.com/first-steps/manage-notifications.md): Learn how to set up and customize ZenRows email notifications, usage alerts, and billing summaries to monitor your API consumption. - [ZenRows' list of products](https://docs.zenrows.com/first-steps/our-products.md): Overview of all ZenRows products including Universal Scraper API, Scraping Browser, and Residential Proxies for data extraction. - [ZenRows Pricing](https://docs.zenrows.com/first-steps/pricing.md): Complete guide to ZenRows pricing plans, cost multipliers, pay-per-success billing, shared balance system, and request credit calculations. - [Unblocking Your Scraper with Residential Proxies](https://docs.zenrows.com/first-steps/res-proxy-first-req.md) - [Power Up Your Headless Browser Scraper](https://docs.zenrows.com/first-steps/sc-browser-first-req.md) - [Your First Universal Web Scraper](https://docs.zenrows.com/first-steps/uni-sc-api-first-req.md) - [Welcome to ZenRows®](https://docs.zenrows.com/first-steps/welcome.md): Get started with ZenRows web scraping tools including the Universal Scraper API, Scraping Browser, Residential Proxies and MCP Integrations. - [How to Integrate 2Captcha with ZenRows](https://docs.zenrows.com/integrations/2captcha.md): Learn how to integrate 2Captcha with ZenRows to solve interactive CAPTCHAs like reCAPTCHA and Cloudflare Turnstile while scraping protected websites. - [How to Integrate Clay with ZenRows](https://docs.zenrows.com/integrations/clay.md): Learn how to connect ZenRows with Clay for no-code web scraping. Extract website data directly into Clay spreadsheets for lead enrichment. - [How to Integrate Flowise with ZenRows](https://docs.zenrows.com/integrations/flowise.md): Integrate ZenRows with Flowise to build AI-powered web scraping workflows using a visual drag-and-drop builder for data collection pipelines. - [How to Integrate LangChain with ZenRows](https://docs.zenrows.com/integrations/langchain.md): Install and configure the langchain-zenrows package to give LLM agents and AI chains real-time web scraping and data extraction capabilities. - [How to Integrate Lindy with ZenRows](https://docs.zenrows.com/integrations/lindy.md): Connect ZenRows with Lindy AI to automate web scraping workflows. Set up intelligent data extraction using Lindy assistants without coding. - [How to Integrate LlamaIndex with ZenRows](https://docs.zenrows.com/integrations/llamaindex.md): Integrate ZenRows with LlamaIndex to build RAG applications that scrape, index, and query live web content from anti-bot protected websites. - [How to Integrate Make with ZenRows](https://docs.zenrows.com/integrations/make.md): Step-by-step guide to integrating ZenRows with Make for no-code web scraping automation. Build data extraction scenarios without programming. - [How to Integrate Anthropic Claude API with ZenRows](https://docs.zenrows.com/integrations/mcp/anthropic-claude-api.md): Give Claude real-time access to any website using ZenRows. Build web-aware AI applications that ground their answers in live data, even from protected, JavaScript-heavy sites. - [Claude Agent SDK](https://docs.zenrows.com/integrations/mcp/claude-agent-sdk.md): Build autonomous, multi-step AI agents that automate and scrape any site via ZenRows' MCP and the Claude Agent SDK. No orchestration code. - [ZenRows MCP Integration for Claude Code](https://docs.zenrows.com/integrations/mcp/claude-code.md): Learn how to set up the ZenRows MCP server in Claude Code to scrape and extract structured web data from your terminal or workspace. - [ZenRows MCP Integration for Claude Desktop](https://docs.zenrows.com/integrations/mcp/claude-desktop.md): Install and configure the ZenRows MCP server in Claude Desktop to scrape websites and extract structured content from conversations. - [How to Integrate ZenRows with Claude Managed Agents](https://docs.zenrows.com/integrations/mcp/claude-managed-agents.md): Connect ZenRows to Claude Managed Agents and let your autonomous agents execute long-running scraping tasks without getting blocked. Anthropic manages the agent loop, sandbox, and infrastructure, while ZenRows handles the scraping layer, feeding your agent with real-time web context. - [ZenRows MCP Integration for Cursor](https://docs.zenrows.com/integrations/mcp/cursor.md): Add the ZenRows MCP server to Cursor so your AI coding assistant can scrape websites and extract structured data inside the editor. - [Google ADK](https://docs.zenrows.com/integrations/mcp/google-adk.md): Build autonomous, multi-agent workflows that can read any website using ZenRows' hosted MCP server with Google's Agent Development Kit (ADK). Plug in scraping and browser automation as native ADK tools, with no orchestration code required. - [Hermes MCP Integration for ZenRows](https://docs.zenrows.com/integrations/mcp/hermes.md): Connect Hermes Agent with the ZenRows MCP to give your autonomous agent reliable access to any website without getting blocked. Scrape protected pages, extract live data, and run scheduled monitoring tasks with results delivered directly to your CLI or messaging app. - [ZenRows MCP Integration for JetBrains IDEs](https://docs.zenrows.com/integrations/mcp/jetbrains.md): Set up ZenRows MCP in JetBrains IDEs like IntelliJ, PyCharm, and WebStorm so the AI assistant can scrape any webpage from your editor. - [ZenRows MCP Server](https://docs.zenrows.com/integrations/mcp/mcp-overview.md): Give any MCP-compatible AI tool, agent, or application real-time access to the live web. One integration combines fast scraping and full browser automation, with anti-bot bypass on every tool. - [How to Integrate OpenAI Agents SDK with ZenRows](https://docs.zenrows.com/integrations/mcp/openai-agents-sdk.md): Build autonomous, multi-step AI agents that scrape and automate any site via ZenRows' MCP and OpenAI Agents SDK. No orchestration code. - [ZenRows MCP Integration for OpenClaw](https://docs.zenrows.com/integrations/mcp/openclaw.md): Give OpenClaw's AI agent real-time access to any website through ZenRows MCP. Scrape protected pages, extract live data, and run scheduled monitoring tasks delivered directly to your messaging app. - [How to Integrate ZenRows with OpenCode](https://docs.zenrows.com/integrations/mcp/opencode.md): Add the ZenRows MCP to OpenCode and let your AI coding agent browse the web and fetch web content reliably without anti-bot or JavaScript rendering limitations. Fetch live documentation, pull real API specs, and scrape technical references directly inside your coding session. - [ZenRows MCP Integration for VS Code](https://docs.zenrows.com/integrations/mcp/vscode.md): Learn how to configure the ZenRows MCP server in VS Code with GitHub Copilot to scrape web pages and extract data from your editor. - [ZenRows MCP Integration for Windsurf](https://docs.zenrows.com/integrations/mcp/windsurf.md): Integrate the ZenRows MCP server with Windsurf to enable AI-powered web scraping and data extraction from your coding environment. - [ZenRows MCP Integration for Zed](https://docs.zenrows.com/integrations/mcp/zed.md): Learn how to set up the ZenRows MCP server in the Zed code editor so your AI assistant can scrape web pages and extract data easily. - [How to Integrate MuleSoft with ZenRows](https://docs.zenrows.com/integrations/mulesoft.md): Connect ZenRows web scraping capabilities to MuleSoft Anypoint Platform workflows for enterprise-grade automated data extraction pipelines. - [How to Integrate n8n with ZenRows](https://docs.zenrows.com/integrations/n8n.md): Integrate ZenRows with n8n to add automated web scraping nodes to your workflows. Collect structured data from websites with anti-bot bypass. - [How to Integrate Node-RED with ZenRows](https://docs.zenrows.com/integrations/node-red.md): Set up ZenRows web scraping in Node-RED to build automated data extraction flows. Connect HTTP nodes with ZenRows API for reliable scraping. - [How to Integrate OpenAI with ZenRows](https://docs.zenrows.com/integrations/openai.md): Give OpenAI's GPT models real-time access to any website using ZenRows' Universal Scraper API and ZenRows' MCP. - [ZenRows' Integration Options](https://docs.zenrows.com/integrations/overview.md): Explore all ZenRows integrations including automation platforms, AI frameworks, browser libraries, and no-code tools for web data extraction. - [How to Integrate Pipedream with ZenRows](https://docs.zenrows.com/integrations/pipedream.md): Build automated web scraping workflows using ZenRows and Pipedream with no coding required. Collect product data, leads, and content updates. - [How to Integrate Playwright with ZenRows](https://docs.zenrows.com/integrations/playwright.md): Set up Playwright with ZenRows residential proxies and Scraping Browser to bypass anti-bot detection and scrape JavaScript-rendered web pages. - [How to Integrate Puppeteer with ZenRows](https://docs.zenrows.com/integrations/puppeteer.md): Configure Puppeteer with ZenRows residential proxies and Scraping Browser to bypass anti-bot systems and scrape dynamic JavaScript websites. - [How to Integrate Scrapy with ZenRows](https://docs.zenrows.com/integrations/scrapy.md): Integrate ZenRows proxy rotation and anti-bot bypass into Scrapy spiders using middleware configuration or meta parameters for web scraping. - [Selenium Integration with ZenRows](https://docs.zenrows.com/integrations/selenium.md): Configure ZenRows residential proxies with Selenium WebDriver to bypass anti-bot detection and IP blocks in automated browser scraping tasks. - [How to Integrate Undici with ZenRows](https://docs.zenrows.com/integrations/undici.md): Use Undici HTTP client with ZenRows Universal Scraper API to build high-performance Node.js web scrapers with anti-bot bypass and proxy support. - [How to Integrate Zapier With ZenRows](https://docs.zenrows.com/integrations/zapier.md): Set up ZenRows and Zapier integration to automate web scraping tasks across your apps. Build no-code workflows for data extraction and syncing. - [MCP Integration](https://docs.zenrows.com/mcp-integration.md) - [Residential Proxies FAQ: Protocols and Geo-Targeting](https://docs.zenrows.com/residential-proxies/faq.md): Find answers to frequently asked questions about ZenRows Residential Proxies, including protocols, geo-targeting, sticky sessions, and billing. - [Country Targeting with ZenRows Residential Proxies](https://docs.zenrows.com/residential-proxies/features/country.md): Use country-level geo-targeting with ZenRows Residential Proxies to access localized content and scrape region-restricted websites. - [Sticky sessions and protocol for Residential Proxies](https://docs.zenrows.com/residential-proxies/features/protocol-sticky-ttl.md): Learn how to configure sticky sessions with custom TTL values and choose between HTTP or HTTPS protocols for ZenRows Residential Proxies. - [World Region Targeting with ZenRows Residential Proxies](https://docs.zenrows.com/residential-proxies/features/world-region.md): Filter residential proxy traffic by world region to collect geo-specific data and bypass regional restrictions with ZenRows proxies. - [Make Your First Request with ZenRows Residential Proxies](https://docs.zenrows.com/residential-proxies/get-started/first-request.md): Send your first request through ZenRows Residential Proxies, verify the proxy connection works, and explore code examples in any language. - [Introduction to Residential Proxies](https://docs.zenrows.com/residential-proxies/introduction.md): Overview of ZenRows Residential Proxies featuring 55M+ rotating IPs across 190+ countries, geo-targeting, and 99.9% uptime for scraping. - [Setting Up the Residential Proxies](https://docs.zenrows.com/residential-proxies/residential-proxies-setup.md): Create your ZenRows Residential Proxies credentials and configure proxy settings like world region, country, protocol, and sticky TTL. - [Scraping Browser FAQ: Sessions, CDP, and Automation](https://docs.zenrows.com/scraping-browser/faq.md): Find answers to frequently asked questions about Scraping Browser sessions, CDP protocol, proxy management, and browser automation limits. - [Country Targeting for ZenRows Scraping Browser](https://docs.zenrows.com/scraping-browser/features/country.md): Learn how to configure country-level geo-targeting in ZenRows Scraping Browser to access localized content and geo-restricted websites. - [Session TTL Configuration for ZenRows Scraping Browser](https://docs.zenrows.com/scraping-browser/features/session-ttl.md): Set and customize Session TTL to manage how long your ZenRows Scraping Browser sessions stay active, from 1 to 15 minutes maximum. - [World Region Configuration for ZenRows Scraping Browser](https://docs.zenrows.com/scraping-browser/features/world-region.md): Set up world region targeting to route your ZenRows Scraping Browser requests via residential IPs for location-specific web scraping. - [Integrating ZenRows Scraping Browser with Playwright](https://docs.zenrows.com/scraping-browser/get-started/playwright.md): Step-by-step guide to connect ZenRows Scraping Browser with Playwright for Python and Node.js web scraping and browser automation. - [Integrating ZenRows Scraping Browser with Puppeteer](https://docs.zenrows.com/scraping-browser/get-started/puppeteer.md): Step-by-step tutorial for integrating ZenRows Scraping Browser with Puppeteer in Node.js and Pyppeteer in Python for web scraping. - [Scraping Browser Practical Use Cases](https://docs.zenrows.com/scraping-browser/help/practical-use-cases.md): Practical Scraping Browser examples including screenshots, form filling, infinite scroll, network interception, and JavaScript execution. - [Introduction to the Scraping Browser](https://docs.zenrows.com/scraping-browser/introduction.md): Learn what ZenRows Scraping Browser offers for dynamic website scraping, including residential proxy rotation, geo-targeting, and CDP support. - [Setting Up the Scraping Browser](https://docs.zenrows.com/scraping-browser/scraping-browser-setup.md): Quick setup guide for ZenRows Scraping Browser with Puppeteer or Playwright, including API key configuration and connection parameters. - [Introduction to the Universal Scraper API](https://docs.zenrows.com/universal-scraper-api/api-reference.md): Explore the full ZenRows Universal Scraper API reference, including endpoint parameters, authentication, pricing tiers, and feature documentation. - [Common Use Cases & Recipes](https://docs.zenrows.com/universal-scraper-api/common-use-cases.md): Browse ready-to-use web scraping recipes for anti-bot bypass, JavaScript rendering, data extraction, and other common scraping scenarios. - [Universal Scraper API FAQ: Cookies, Proxies, Output](https://docs.zenrows.com/universal-scraper-api/faq.md): Find answers to frequently asked questions about ZenRows API features, including cookies, session management, proxies, output formats and other common questions. - [Adaptive Stealth Mode](https://docs.zenrows.com/universal-scraper-api/features/adaptive-stealth-mode.md): ZenRows intelligent scraping mode that automatically selects optimal configurations while minimizing costs and maintenance overhead. - [Autoparse](https://docs.zenrows.com/universal-scraper-api/features/autoparse.md): Learn how ZenRows Autoparse automatically extracts structured JSON data from web pages without requiring custom parsers or manual HTML parsing. - [Block Resources](https://docs.zenrows.com/universal-scraper-api/features/block-resources.md): Block images, stylesheets, fonts, and other unnecessary resources during web scraping to reduce bandwidth and speed up page load times. - [Concurrency](https://docs.zenrows.com/universal-scraper-api/features/concurrency.md): Learn how concurrent request limits work in ZenRows, including plan-based rate limits, parallel scraping, and managing simultaneous API calls. - [CSS Extractor](https://docs.zenrows.com/universal-scraper-api/features/css-extractor.md): Use CSS selectors and XPath expressions to extract specific data points from HTML pages and return structured JSON with ZenRows CSS Extractor. - [Download Files and Pictures](https://docs.zenrows.com/universal-scraper-api/features/downloadfile.md): Download images, PDFs, and other files directly from web pages through the ZenRows API. - [Custom Headers](https://docs.zenrows.com/universal-scraper-api/features/headers.md): Set custom HTTP headers in your ZenRows scraping requests to manage cookies, user agents, authorization tokens, and browser fingerprinting. - [JavaScript Instructions](https://docs.zenrows.com/universal-scraper-api/features/js-instructions.md): Automate page interactions like clicking buttons, filling forms, scrolling, and running custom JavaScript during headless browser rendering. - [JavaScript Rendering (Headless Browser)](https://docs.zenrows.com/universal-scraper-api/features/js-rendering.md): Enable headless browser rendering in ZenRows to scrape JavaScript-heavy websites and capture dynamically loaded content behind anti-bot systems. - [JSON Response](https://docs.zenrows.com/universal-scraper-api/features/json-response.md): Return scraped page content along with captured XHR and Fetch network requests as structured JSON for debugging and data analysis in ZenRows. - [Markdown Response](https://docs.zenrows.com/universal-scraper-api/features/markdown.md): Get scraped page content returned as clean Markdown instead of raw HTML using the `response_type=markdown` parameter. - [Other Features](https://docs.zenrows.com/universal-scraper-api/features/other.md): Configure advanced ZenRows API parameters including Session ID for persistent IPs, original HTTP status codes, and POST request handling. - [Output Filters](https://docs.zenrows.com/universal-scraper-api/features/output-filters.md): Extract only the data types you need from any scraped page using the outputs parameter. - [PDF Response](https://docs.zenrows.com/universal-scraper-api/features/pdf.md): Get a pixel-perfect PDF render of any scraped page using the `response_type=pdf` parameter. - [Plain Text Response](https://docs.zenrows.com/universal-scraper-api/features/plaintext.md): Get scraped page content returned as plain text, stripped of all HTML tags and formatting, using the `response_type=plaintext` parameter. - [Premium Proxy (Residential IPs)](https://docs.zenrows.com/universal-scraper-api/features/premium-proxy.md): Bypass anti-bot detection by routing scraping requests through 55 million residential IP addresses with ZenRows Premium Proxy for higher success. - [Proxy Country (Geolocation)](https://docs.zenrows.com/universal-scraper-api/features/proxy-country.md): Route web scraping requests through residential IPs in 190+ countries to access geo-restricted content and localized data with ZenRows. - [Page Screenshot](https://docs.zenrows.com/universal-scraper-api/features/screenshot.md): Capture a screenshot of any page (above the fold, full page, or a specific element) using the `screenshot=true` parameter. - [Wait Parameter](https://docs.zenrows.com/universal-scraper-api/features/wait.md): Add a fixed millisecond delay during headless browser rendering to ensure slow-loading dynamic content is fully captured before HTML extraction. - [Wait For Parameter](https://docs.zenrows.com/universal-scraper-api/features/wait-for.md): Use the ZenRows wait_for parameter with CSS selectors to pause scraping until specific page elements load during JavaScript rendering. - [Make Your First Request with ZenRows' Universal Scraper API](https://docs.zenrows.com/universal-scraper-api/first-request.md): Follow this step-by-step guide to make your first web scraping API call with ZenRows in Python, Node.js, Go, Java, PHP, Ruby, or cURL. - [Advanced CSS Selector Examples](https://docs.zenrows.com/universal-scraper-api/troubleshooting/advanced-css-selector-examples.md): Practical CSS selector examples for extracting structured data from tables, lists, and nested layouts using the ZenRows scraping API. - [Advanced CSS Selectors](https://docs.zenrows.com/universal-scraper-api/troubleshooting/advanced-css-selectors.md): Learn advanced CSS selector techniques like pseudo-classes, combinators, and attribute selectors to scrape dynamic website structures. - [Troubleshooting Partial or Empty Responses](https://docs.zenrows.com/universal-scraper-api/troubleshooting/empty-or-partialresponses.md): Troubleshoot empty or partial scraping responses from JavaScript-rendered pages. Covers wait parameters, AJAX handling, and ZenRows fixes. - [IP Address Blocked or Connection Refused/Aborted](https://docs.zenrows.com/universal-scraper-api/troubleshooting/ip-address-blocked.md): Resolve IP address blocked and connection refused errors in ZenRows by adjusting rate limits, request patterns, and proxy configuration. - [Troubleshooting Response Size Too Large Errors](https://docs.zenrows.com/universal-scraper-api/troubleshooting/response-too-large.md): Resolve 413 Content Too Large errors in ZenRows by filtering HTML output, using CSS selectors, and adjusting response size parameters. - [Basic Troubleshooting Guide](https://docs.zenrows.com/universal-scraper-api/troubleshooting/troubleshooting-guide.md): Solve common ZenRows web scraping problems like dynamic content loading, geo-restricted pages, session handling, and timeout errors. - [Proxy and Geolocation Troubleshooting](https://docs.zenrows.com/universal-scraper-api/troubleshooting/troubleshooting-premium-proxies.md): Fix ZenRows Premium Proxy issues such as geolocation mismatches, residential IP blocks, and anti-bot bypass failures with proven steps. - [Setting Up the Universal Scraper API](https://docs.zenrows.com/universal-scraper-api/universal-scraper-api-setup.md): Complete setup guide for ZenRows Universal Scraper API including API key configuration, authentication, and first scraping request. - [Build a Price Monitoring System](https://docs.zenrows.com/zenrows-academy/build-price-monitoring.md): Build a price monitoring system with Python and ZenRows that scrapes, stores, and tracks e-commerce product prices automatically over time. - [Capture Network Requests (XHR/Fetch)](https://docs.zenrows.com/zenrows-academy/capturing-network-requests.md): Intercept XHR and Fetch API network requests to extract structured JSON data from JavaScript-heavy dynamic websites using ZenRows. - [Extract Property Data](https://docs.zenrows.com/zenrows-academy/extract-property-data.md): Scrape detailed property data from individual Zillow listing pages using ZenRows CSS selectors and scale to process multiple properties. - [Scrape Property Listings](https://docs.zenrows.com/zenrows-academy/extract-property-listings.md): Scrape Zillow property listings with ZenRows to extract URLs from search results while bypassing anti-bot protection and rendering JavaScript. - [CSS Selectors and HTML Parsing](https://docs.zenrows.com/zenrows-academy/how-to-extract-data.md): Extract web data with ZenRows using three methods: CSS selectors for JSON output, output filters for transformation, and raw HTML parsing. - [Integrate ZenRows with an Existing Price Monitoring System](https://docs.zenrows.com/zenrows-academy/integrate-price-monitoring.md): Integrate ZenRows into your existing price monitoring system to bypass anti-bot protection, improve scraping reliability, and reduce maintenance. - [Introduction to ZenRows Academy](https://docs.zenrows.com/zenrows-academy/introduction.md): Get started with ZenRows Academy tutorials on web scraping, data extraction techniques, anti-bot bypass, and scraping automation with Python. - [Retry Failed Requests](https://docs.zenrows.com/zenrows-academy/retry-failed-requests.md): Set up auto-retry policies for failed web scraping requests in Python and JavaScript using ZenRows with exponential backoff and error handling. - [Scrape and Crawl from a Seed URL](https://docs.zenrows.com/zenrows-academy/scrape-and-crawl-from-a-seed-url.md): Build a web crawler in Python that starts from a seed URL, discovers internal links, and scrapes pages at scale using ZenRows API. - [Scrape from a List of URLs](https://docs.zenrows.com/zenrows-academy/scrape-from-a-list-of-urls.md): Scrape data from multiple URLs in parallel or sequentially with ZenRows using Python and JavaScript for efficient bulk web scraping. ## OpenAPI Specs - [openapi](https://docs.zenrows.com/api-reference/openapi.json) ## Optional - [Blog Page](https://www.zenrows.com/blog) - [Knowledge e-Books](https://www.zenrows.com/knowledgehub) - [ZenRows Status](https://status.zenrows.com/) - [Legal Pages](https://www.zenrows.com/legal) - [Changelog](https://eu.intercom.news/zenrows)