> ## Documentation Index
> Fetch the complete documentation index at: https://docs.zenrows.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Introduction to the Go SDK

> Official ZenRows Go SDK for the Universal Scraper API. Handles authentication, retries, and concurrency so you can scrape with less boilerplate.

The <a href="https://github.com/ZenRows/zenrows-go-sdk" target="_blank" rel="noopener noreferrer nofollow">ZenRows Go SDK</a> (package `scraperapi`) is a lightweight client for the [Universal Scraper API](/universal-scraper-api/universal-scraper-api-setup). 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.

<Info>
  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.
</Info>

## 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 on `RequestParameters`, not a hand-built query string.

## What you'll need

<CardGroup cols={2}>
  <Card title="Go 1.23+" icon="golang">
    Required by the SDK's `go.mod`.
  </Card>

  <Card title="API key" icon="key" href="https://app.zenrows.com/register?p=free">
    Create a free account to get yours, no credit card required.
  </Card>
</CardGroup>

<Note>
  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](/universal-scraper-api/universal-scraper-api-setup). 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](/universal-scraper-api/sdk/go/post-put-requests).
</Note>

<Tip>
  Looking for a different language? ZenRows also maintains a <a href="https://pypi.org/project/zenrows/" target="_blank" rel="noopener noreferrer nofollow">Python SDK</a> and a <a href="https://www.npmjs.com/package/zenrows" target="_blank" rel="noopener noreferrer nofollow">Node.js SDK</a>.
</Tip>

## Explore the Go SDK

<CardGroup cols={2}>
  <Card title="Installation" icon="download" href="/universal-scraper-api/sdk/go/installation">
    Install the package and get your API key.
  </Card>

  <Card title="Quickstart" icon="rocket" href="/universal-scraper-api/sdk/go/quickstart">
    Make your first request in a few lines of code.
  </Card>

  <Card title="POST and PUT Requests" icon="send" href="/universal-scraper-api/sdk/go/post-put-requests">
    Submit forms or data payloads.
  </Card>

  <Card title="Concurrency" icon="bolt" href="/universal-scraper-api/sdk/go/async-concurrency">
    Scrape many URLs at once with goroutines.
  </Card>

  <Card title="Error Handling and Retries" icon="shield" href="/universal-scraper-api/sdk/go/error-handling-and-retries">
    Configure automatic retries and handle failures.
  </Card>

  <Card title="Response Object" icon="file-text" href="/universal-scraper-api/sdk/go/response-object">
    What you get back from every request.
  </Card>

  <Card title="Custom Headers" icon="tags" href="/universal-scraper-api/sdk/go/custom-headers">
    Forward specific headers to the target site.
  </Card>

  <Card title="FAQ" icon="help-circle" href="/universal-scraper-api/sdk/go/faq">
    Answers to common questions.
  </Card>
</CardGroup>
