zenrows) is a lightweight client for the Universal Scraper API. It wraps the native fetch API, adding automatic retries and a built-in concurrency queue on top.
Every call returns a standard
Response object, the same one the native fetch API returns. Since every method is already a Promise, there’s no separate set of “async” methods to learn, unlike some other language SDKs.What the SDK handles for you
- Authentication - your API key is set once in the client constructor, not repeated on every call.
- Retries - optionally retry failed requests (network errors,
422,503,504) with exponential backoff, without writing retry logic yourself. - Concurrency - every request from a client instance is automatically queued and limited to match your ZenRows plan’s concurrency limit.
- Native fetch - no extra HTTP client dependency; the SDK builds directly on Node’s built-in
fetch.
What you’ll need
Node.js 20+
Required by the SDK’s
engines field in package.json.API key
Create a free account to get yours, no credit card required.
The SDK only covers the Universal Scraper API’s GET and POST modes; it doesn’t expose a
put() method. For the full list of request parameters (premium_proxy, css_extractor, autoparse, and so on), see the Universal Scraper API setup guide. Most parameters work the same way through the SDK’s config argument, with one exception: js_render only works on GET requests, not POST. See POST Requests.Explore the Node.js SDK
Installation
Install the package and get your API key.
Quickstart
Make your first request in a few lines of code.
POST Requests
Submit forms or data payloads.
Concurrency
Scrape many URLs in parallel.
Error Handling and Retries
Configure automatic retries and handle failures.
The Response Object
What you get back from every request.
Custom Headers
Forward specific headers to the target site.
FAQ
Answers to common questions.