GOAT
GOAT lowest prices per size, condition and box, instant-ship prices and last sales, about 500,000 products per credit.
GOAT lowest prices per size, condition and box, instant-ship prices and last sales, about 500,000 products per credit.
At a glance
Property | Value |
|---|---|
|
|
Item id | The product slug, the last part of the product URL ( |
Marketplaces | Live: |
Tier |
|
Ids per call | 1,000 |
Typical call | 10–20 s for 1,000 products |
Example
- cURL
- Python
- Node.js
curl -X POST "https://api.scrapelyserp.com/v1/products" \
-H "Authorization: Bearer $SCRAPELY_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"platform": "goat",
"ids": ["air-jordan-12-retro-bucks-ct8013-103"]
}'import os
import requests
HEADERS = {"Authorization": f"Bearer {os.environ['SCRAPELY_API_KEY']}"}
r = requests.post(
"https://api.scrapelyserp.com/v1/products",
headers=HEADERS,
json={
"platform": "goat",
"ids": ["air-jordan-12-retro-bucks-ct8013-103"],
},
timeout=120,
)
r.raise_for_status()
data = r.json()
for p in data["results"]:
print(p["id"], p["status"], (p.get("price") or {}).get("amount"))const res = await fetch('https://api.scrapelyserp.com/v1/products', {
method: 'POST',
headers: {
Authorization: `Bearer ${process.env.SCRAPELY_API_KEY}`,
'Content-Type': 'application/json',
},
body: JSON.stringify({ platform: 'goat', ids: ['air-jordan-12-retro-bucks-ct8013-103'] }),
signal: AbortSignal.timeout(120_000),
});
if (!res.ok) throw new Error((await res.json()).error.code);
const data = await res.json();
for (const p of data.results) console.log(p.id, p.status, p.price?.amount);Full reference → POST /v1/products
GOAT fields
Besides the common fields, each result carries a goat object. price is the lowest price of a new pair in a good box, any size.
Field | Description |
|---|---|
| One entry per size, condition and box that has a price: |
| The lowest price of a used pair, any size. |
| The style code as GOAT writes it ( |
| The original retail price and release date. |
| The rest of the product. |
availability.inStock is true when at least one pair is listed.
Statuses on GOAT
partial: the product answered without its prices. Ask again later.not_found: GOAT has no product with that slug or id.
Watchlists
A watchlist with "platform": "goat" reads each product once per run and reports changes to price, inStock, lowestPriceUsed.