Getting started
ZenRows’ API offers a straightforward approach to web scraping with just two key components:- API key – Your unique key to authenticate requests.
- The encoded URL – The target URL you want to scrape, properly encoded.

- Paste your target URL to configure a request.
- Enable ZenRows parameters like blocking unnecessary resources or specifying JavaScript instructions.
- Select a programming language (e.g., Python) and a connection mode. For general use, select “cURL” to generate the full API endpoint that works with any HTTP client.
- Test the request by clicking “Try It” to execute the request in the browser.
- Copy the generated code and integrate it into your Python script.
Connection modes
ZenRows Universal Scraper API accommodates different needs through three flexible connection methods:- API Mode: Ideal for quick and easy scraping with all the processing handled by ZenRows. Just pass your API key and URL, and get the data back.
- Proxy Mode: For users who want to maintain control over their scraping logic but need ZenRows’ powerful proxy network, this mode allows you to use ZenRows as a proxy. You can integrate it into your existing system, enabling access to residential, datacenter, and rotating proxies to avoid IP bans and anti-bot systems.
- SDK: ZenRows offers dedicated SDKs for Python and Node.js to simplify integration for developers. These SDKs abstract many low-level details, like request handling, retries, and response processing, making it easy for both beginners and experienced developers to get started quickly.
Response Headers
ZenRows provides several types of headers in API responses to help you monitor usage and understand the results:Target Website Headers
Headers from the target website are prefixed withZr-
for easy identification. For example:
ZenRows Monitoring Headers
ZenRows also includes valuable monitoring headers with each response:- Concurrency-Limit: Your maximum concurrent request limit based on your plan
- Concurrency-Remaining: Number of additional concurrent requests you can make
- X-Request-Cost: The cost of this request
- X-Request-Id: Unique identifier for the request, crucial for troubleshooting
- Zr-Final-Url: The final URL after any redirects, ensuring you always know the last page accessed.
When contacting support about any issues, always include the X-Request-Id from your response. This identifier allows our team to quickly trace your specific request in our logs.
API Key
Your API Key is the gateway to the ZenRows Universal Scraper API, functioning as both an authentication tool and an identifier for all your requests. Without it, you won’t be able to access ZenRows’ features or receive any scraped data. You can easily create your API Key by signing up for an account.Make sure to store your key securely and never share it publicly.
URL
The URL you want to scrape must be URL-encoded to prevent issues with special characters like spaces, question marks, and ampersands. Encoding ensures that servers interpret the URL correctly, avoiding common issues like broken requests or misinterpretation of the data. Always double-check your URLs for proper encoding. If you’re using ZenRows SDKs or common HTTP libraries likerequests
in Python or axios
in Node.js, they often handle this for you.