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

# Proxies

> Configure your own proxy service for better reliability and account protection

The Zinc API interfaces with the retailers via proxies. This enables each retailer interaction session to use unique and consistent IP addressing. Due to many factors, sometimes the bulk proxies available to us become blocked by retailers. The best path to keeping your own account from being blocked is to provide your own proxy service, by either hosting your own proxy or purchasing a proxy from a provider. We call this "bring-your-own-proxy" (BYOP).

## Where do I get a proxy?

We cannot recommend any specific proxy provider. Many commercial providers are unsuitable because their IPs are low quality and shared among many users. It is best to use a real residential IP address dedicated to your ordering flow.

One option is to deploy the Zinc proxy container, on GitHub at [zinc/zn-proxy](https://github.com/zincio/zn-proxy).

## Create BYOP Configuration

To configure a BYOP, you must provide the retailer, email account, and full proxy connection URL.

| Attribute   | Type   | Description                                         |
| :---------- | :----- | :-------------------------------------------------- |
| `retailer`  | string | Single-word name representing the retailer          |
| `email`     | string | Email address used as account with the retailer     |
| `proxy_url` | string | Full HTTP proxy connection string for proxy service |

The `proxy_url` components are as follows:

| Component        | Description                                               |
| :--------------- | :-------------------------------------------------------- |
| `proxy_user`     | Username for the proxy service account                    |
| `proxy_password` | Password for the proxy service account                    |
| `proxy_ip`       | IP address of the proxy server (sample shows 192.168.1.1) |
| `proxy_port`     | Port number of the proxy server (sample shows 1234)       |

```bash theme={null}
curl "https://api.zinc.io/v1/proxies/byop" \
  -X PUT \
  -u <client_token>: \
  -d '{"retailer":"amazon","email":"youremail@youremail.com","proxy_url":"http://proxy_user:proxy_password@192.168.1.1:1234"}'
```

## Request Current BYOP Configuration

You can query the Zinc API for the current BYOP configuration of a specific retailer account. If the account is configured for BYOP, the full proxy information will be returned in the JSON response. If the account is configured for one of our internal proxies, the response will be successful (200) with an empty JSON body.

```bash theme={null}
curl "https://api.zinc.io/v1/proxies/byop" \
  -X GET \
  -u <client_token>: \
  -d '{"retailer":"amazon","email":"youremail@youremail.com"}'
```

## Delete BYOP Configuration

Use the `DELETE` method instead of `PUT`.

```bash theme={null}
curl "https://api.zinc.io/v1/proxies/byop" \
  -X DELETE \
  -u <client_token>: \
  -d '{"retailer":"amazon","email":"youremail@youremail.com"}'
```
