scraperapi) is a lightweight client for the Universal Scraper API. It wraps the same https://api.zenrows.com/v1 endpoint you’d otherwise call with net/http, adding automatic retries, concurrency limiting, and a typed request builder on top.
Every request parameter is a typed field on a
RequestParameters struct instead of a loose map or dictionary, so the compiler catches a typo’d parameter name before your code ever makes a network call. Every method also takes a context.Context, so cancellation and timeouts work the same way they do with any other Go HTTP call.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,429,500) with exponential backoff, without writing retry logic yourself. - Concurrency - cap how many requests run in parallel with an internal semaphore, to match your ZenRows plan’s concurrency limit.
- Typed parameters - every Universal Scraper API parameter (
js_render,premium_proxy,css_extractor, and more) is a typed field onRequestParameters, not a hand-built query string.
What you’ll need
Go 1.23+
Required by the SDK’s
go.mod.API key
Create a free account to get yours, no credit card required.
The SDK only covers the Universal Scraper API’s GET, POST, and PUT modes; it doesn’t expose PATCH or DELETE. 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 RequestParameters regardless of method, with one exception: JSRender only works on GET requests, not POST or PUT. See POST and PUT Requests.Explore the Go SDK
Installation
Install the package and get your API key.
Quickstart
Make your first request in a few lines of code.
POST and PUT Requests
Submit forms or data payloads.
Concurrency
Scrape many URLs at once with goroutines.
Error Handling and Retries
Configure automatic retries and handle failures.
Response Object
What you get back from every request.
Custom Headers
Forward specific headers to the target site.
FAQ
Answers to common questions.