---
title: Getting started
description: Make your first scrape in under 2 minutes. Get an API key, fire one cURL request, parse the response.
order: 1
---

# Getting started

You'll have a working Amazon scrape in under 2 minutes.

## 1. Create an API key

1. Sign in at [app.amazonscraperapi.com](https://app.amazonscraperapi.com).
2. Open **API keys** in the left sidebar.
3. Click **Create key**. Name it (e.g. `local-dev`). Copy the value  -  it's only shown once.

Your key looks like `asa_live_xxxxxxxxxxxxxxxxxxxxxxxx`. Treat it like a password.

## 2. First request  -  cURL

```bash
curl "https://api.amazonscraperapi.com/api/v1/amazon/product?query=B09HN3Q81F&domain=com" \
  -H "Authorization: Bearer asa_live_YOUR_KEY"
```

You get back JSON:

```json
{
  "asin": "B09HN3Q81F",
  "title": "LEGEND COOKWARE 5-Ply Stainless Steel Cookware Set",
  "price": 299.99,
  "currency": "USD",
  "rating": 4.7,
  "reviews_count": 2481,
  "images": ["https://m.media-amazon.com/images/I/71..."],
  "bullet_points": "5-PLY STAINLESS STEEL ... \n ...",
  "category": [...],
  "buybox": [...]
}
```

Average response time: **~2.6 s median**, **~6 s p95**.

## 3. Same thing in Python

```python
import requests

r = requests.get(
    "https://api.amazonscraperapi.com/api/v1/amazon/product",
    headers={"Authorization": "Bearer asa_live_YOUR_KEY"},
    params={"query": "B09HN3Q81F", "domain": "com"},
)
r.raise_for_status()
product = r.json()
print(product["title"], "-", product["price"], product["currency"])
```

## 4. Same thing in Node.js

```javascript
const res = await fetch(
  "https://api.amazonscraperapi.com/api/v1/amazon/product?query=B09HN3Q81F&domain=com",
  { headers: { Authorization: "Bearer asa_live_YOUR_KEY" } }
);
const product = await res.json();
console.log(product.title, "-", product.price, product.currency);
```

## What costs a credit?

**Only successful (HTTP 2xx) responses.** Errors, Amazon challenge pages, and timeouts never touch your balance. See [pricing](https://amazonscraperapi.com/pricing) and the [billing FAQ](https://amazonscraperapi.com/pricing#faq) for the full policy.

## Common errors

| HTTP | Body contains | What it means | What to do |
|---|---|---|---|
| 400 | `invalid_params` | ASIN or domain malformed | Check your query  -  ASIN is 10 alphanumeric chars, domain is one of the 20 supported TLDs |
| 401 | `unauthorized` | API key missing / wrong | Verify the `Authorization: Bearer …` header |
| 429 | `rate_limited` | Too many requests from your key | Back off; default rate is generous but not unlimited |
| 501 | `not_implemented` | You passed a param that's on the roadmap but not live (e.g. `render_js=true`) | Remove the param; we won't charge for 501 |
| 502 | `target_unreachable` OR `extraction_failed` | Amazon blocked us on all retries, or served a page we couldn't parse | Retry in ~30 s; usually transient |

## Related

- [Endpoint reference  -  product](/docs/endpoints/product)
- [Endpoint reference  -  search](/docs/endpoints/search)
- [Async batch + webhooks](/docs/endpoints/batch)
- [Country + content language](/docs/guides/country-and-language)
