# Create a destination: `POST /v1/async/destinations`

Cost: free (0 (failed requests are free)). Docs: https://scrapercompany.com/docs/reference/async-destinations-create

Store a bucket once; jobs and schedules then reference its id.

Credentials are encrypted at rest by the service and are never returned.
For `gcs`, the HMAC key is used through GCS's S3-compatibility endpoint.

Request body (JSON):

- `name` (string; required; min length 1, max length 80): Display name, unique per account.
- `kind` (string; optional; default s3; one of s3, gcs): `s3` for AWS/R2/B2/MinIO and any S3-compatible store; `gcs` for a Google Cloud Storage HMAC key (its S3-compatibility endpoint).
- `bucket` (string; required; min length 3, max length 63): Bucket name. It must already exist and the credentials must be allowed to write to it.
- `prefix` (string | null; optional; max length 200): Optional key prefix inside the bucket, for example `scrapercompany`. A job writes `<prefix>/async-jobs/<date>/<job_id>/manifest.json` and one gzipped object per item under `items/`.
- `region` (string | null; optional; max length 40): S3 region (ignored for GCS, which uses `auto`).
- `endpoint` (string | null; optional; max length 300): Optional custom S3 endpoint (R2, B2, MinIO). It must be public HTTPS: the hostname is resolved when the destination is saved and again on every upload, and private, loopback, link-local, CGNAT and cloud-metadata addresses are rejected, including after a redirect. GCS always uses `https://storage.googleapis.com`.
- `path_style` (boolean; optional; default false): Use path-style addressing, needed by some S3-compatible stores (MinIO, B2). GCS always uses virtual-host style.
- `format` (string; optional; default json; one of json, jsonl, csv): How each item object is encoded. `json` and `jsonl` are one gzipped JSON document per item; `csv` is one gzipped row. `manifest.json` lists the object keys.
- `access_key_id` (string; required; min length 1, max length 256): S3 access key id, or a GCS HMAC key id.
- `secret_access_key` (string; required; min length 1, max length 512): S3 secret access key, or a GCS HMAC secret. Stored encrypted and never returned.

Base URL: `https://api.scrapercompany.com`. Auth: send your key in the `x-api-key` header. A failed request (4xx or 5xx) or an empty result costs 0 credits.

- [Full API reference as one Markdown file](https://scrapercompany.com/llms-full.txt)
- [OpenAPI spec](https://scrapercompany.com/openapi.json)
