Sneaker price API: StockX and Alias resale prices per size
Send a style code or the barcode from a shoe box. The API returns resale prices per size from StockX and Alias, as JSON. A barcode request finds the size of that barcode and returns the prices for that size only. The same token also returns product data: name, colourway, size, images and release date.
Last checked:
https://barcodes.gg/api/v2/prices/DZ5485-612
{ "error": false, "results": { "style_code": "DZ5485-612", "query": { "sites": ["stockx", "alias"], "currency": "EUR", "market": ["EU"], "region": "EU", "consign": "false", "fresh": "auto" }, "as_of": "...", "is_stale": ..., "sites": [ { "site": "StockX", "currency": "EUR", "market": "EU", "is_consign": false, "as_of": "...", "sizes": [ { "size": "...", "us": "...", "eu": "...", "uk": "...", "price": ..., "bid": ..., "sales": ..., "as_of": "..." } ] }, { "site": "Alias", "currency": "USD", "market": null, "region": "EU", "is_consign": false, "as_of": "...", "sizes": [ { "size": "...", "us": "...", "eu": "...", "uk": "...", "ask": ..., "bid": ..., "last_sale": ..., "global_indicator": ..., "sales": ..., "as_of": "..." } ] } ] }, "response_time": "...", "request_fulfilled": true, "request_debited": true}
The API returns numbers and times in place of each ... in this example.
Example request and response
One GET request with a Bearer token. This request asks for the prices of style code DZ5485-612:
curl "https://barcodes.gg/api/v2/prices/DZ5485-612" -H "Authorization: Bearer YOUR_API_TOKEN"The live answer on 25 October 2026 had rows for StockX (EUR, EU market) and Alias (USD). The example at the top of this page shows the shape of that answer. Prices and times change, so the example shows ... in place of the values.
A site row has one entry per size. A StockX size that StockX lists without a price has "price": null. Alias sizes name each value: ask, bid, last_sale and global_indicator, each null when Alias gives none.
Request parameters
Both endpoints take the same optional query parameters. All parameters are on every plan with prices and cost no extra call. A value that is not on the list returns HTTP 422 with the allowed values.
| Parameter | Allowed values | Default |
|---|---|---|
sites | stockx, alias or all (StockX and Alias) | all |
currency | One of 30 StockX currencies, such as EUR, GBP or USD. StockX only: Alias prices are in USD in every region. | EUR |
market | StockX market: EU, an EU country code (answers as EU), or GB, CH, NO, US, CA, MX, HK, MO, TW, JP, KR, SG, MY, PH, AU, NZ, AE, SA, IL. Up to 3, comma-separated. | EU |
region | Alias region: EU (Europe, without France), FR, GB, CH, NO, US, CA, MX, BR, JP, KR, HK, MO, CN, TW, SG, MY, TH, PH, IN, AU, NZ, AE, SA, KW, QA, IL, TR, ZA or global | EU |
consign | false, true or both. On StockX, consignment means Flex. | false |
fresh | auto pulls StockX and Alias live when no matching price is under 60 minutes old. cache answers from the cache only. | auto |
curl "https://barcodes.gg/api/v2/prices/DZ5485-612?sites=stockx¤cy=GBP&market=GB,EU" -H "Authorization: Bearer YOUR_API_TOKEN"All EU countries share one StockX market, so an EU country code answers as EU. The documentation lists all 30 currencies.
Barcode to size to price in one call
A barcode identifies one size of one colourway. The barcode endpoint uses that fact. It finds the style code and size of the barcode in the Barcodes.gg catalogue. Then it returns that size only, from StockX and Alias:
curl "https://barcodes.gg/api/v2/prices/barcode/195245980597" -H "Authorization: Bearer YOUR_API_TOKEN"The answer has the same shape as above, with two more keys: barcode and barcode_size, the size of the barcode in each sizing system. Each site row then holds the entry for that size only.
A scan-in tool does not need a size table of its own. One request gives the product, the size and the resale prices for the pair in the box. On 9 November 2026 the catalogue held 2,897,184 barcodes, each stored with its size. We found no other sneaker data API that documents this join in one call.
Marketplaces and markets
The price API returns prices from two marketplaces: StockX and Alias (GOAT Group).
Each row names its site, currency and market. StockX rows carry the market of the prices: EU for the shared EU market, or a country code such as GB for a market with its own prices. Alias rows also carry region: EU for the Alias Europe region, a region code such as GB or US, or global when you ask for it. One style code can have several rows for one marketplace, one per market or per consignment type.
The rows in an answer depend on the product. A product can have prices on StockX, on Alias or on both.
Fields
| Field | Meaning |
|---|---|
results.query | The parameters that the API used, after defaults. An EU country code shows as EU. |
size | Size label as the marketplace shows it. |
us, eu, uk | The size in US, EU and UK sizing. |
price | StockX rows: lowest ask. Null when the size is listed without a price. |
ask | Alias rows: lowest ask in the region. Null when Alias shows no ask. |
bid | Highest bid, when the marketplace gives one. |
last_sale | Alias rows: price of the last sale of the size. |
global_indicator | Alias rows: the Alias global indicator price. It is a price guide, not an ask. |
sales | Sales count that the marketplace reports. The time window depends on the marketplace. Null on consignment rows. |
as_of | Time of this price. |
Freshness and coverage
Every size carries its own as_of time. The top-level as_of is the newest price over all sites. is_stale is true when that newest price is older than 24 hours. Use these fields to decide how much to trust a price. Do not assume one refresh time for all products.
When no StockX or Alias price for the requested market is under 60 minutes old, the API pulls that price live during the request. With fresh=cache the API answers from the cache only and does not wait. Coverage depends on the product. A request for a product without a price is not charged.
What do these prices show across the market? Our sneaker resale premium index and size premium study use the same StockX data.
Plans and cost
The price endpoints need a token with the prices ability. Tokens on these plans can carry it. Prices are in euros per month:
- Standard Plus, €79: 10,000 calls, plus reverse lookup by style code.
- Pro, €99: 50,000 calls.
- Pro Plus, €129: 50,000 calls, plus reverse lookup by style code.
- Enterprise, €199: 200,000 calls, plus reverse lookup by style code.
Price requests use the same monthly allowance as barcode lookups. One answered request uses one call. A product without cached prices returns HTTP 200 with "error": true and does not use a call. Basic, Basic Plus, Standard and the free trial do not include prices. Current plans are in the pricing section.
Errors
- HTTP 200 with
"error": true: no cached prices for this product. Not charged. - 401: the token is missing, unknown or expired.
- 403: the token does not have the
pricesability, or the plan has no calls left. - 422: the style code, the barcode or a parameter value is not valid. A barcode must have 8 to 14 digits. The message lists the allowed values of a parameter.
- 429: the rate limit of the plan is reached. Wait and send the request again.
- 503: prices are not available for a short time. Send the request again later.
Use the API with an AI agent
Paste this prompt into Claude, ChatGPT, Cursor or another coding agent. Put your API token in the BARCODES_API_TOKEN environment variable, not in the prompt.
Use the Barcodes.gg API. Base URL: https://barcodes.gg/api/v2. Send the header "Authorization: Bearer $BARCODES_API_TOKEN". The OpenAPI file is https://barcodes.gg/openapi.json. The documentation is https://barcodes.gg/guide/docs/introduction/. For each style code in my list, call GET /prices/{style_code} and return the StockX and Alias prices per size. Read the market and currency parameters in the OpenAPI file.The agent reads the endpoints and fields from openapi.json and from the API documentation. llms.txt lists the pages of this site for AI tools.
Documentation and examples
The resale prices documentation is the reference for both endpoints. The OpenAPI 3.1 specification describes them as getPrices and getPricesByBarcode, so you can generate a client. Three examples show a full integration:
- Sneaker price Discord bot: a
/pricecommand in discord.js. - Price alert with a cron job: a message when a size drops below your target.
- Resale prices in inventory software: scan a barcode, get the size and its prices.
To add product details and size barcodes to a catalogue CSV one time, use catalogue enrichment from style codes.
Other price APIs are in the sneaker price API comparison and on the KicksDB, Packet and SoleFetch alternative pages. Changes to the API are in the changelog.
Get resale prices by API
Resale prices from StockX and Alias are on Standard Plus (€79 per month) and higher plans. One answered request uses one call. A product without cached prices is not charged.
Frequently asked questions
Which marketplaces does the price API cover?
StockX and Alias (GOAT Group). Each row states its site, currency and market. The rows in one answer depend on the product.
Does a barcode request return every size?
No. A barcode belongs to one size, so the barcode endpoint returns that size only. To get every size, send the style code to the style code endpoint.
How fresh are the prices?
Each size has its own as_of time. StockX and Alias are pulled live when no price for the requested market is under 60 minutes old; fresh=cache never waits. The is_stale flag is true when the newest price in the answer is older than 24 hours.
Does the free trial include prices?
No. The trial covers barcode and product lookups. Resale prices are on Standard Plus and higher plans.
Is this the official StockX API?
No. The official StockX API for sellers is at developer.stockx.com. Barcodes.gg is not affiliated with StockX.
Guides
SKU lookup vs barcode lookup for resellers
The difference between looking up a product by SKU or style number and by barcode, and when to use each one for sourcing.
Barcode API guide: integrate product lookup into your app
A walkthrough for developers: how a barcode API turns a scanned GTIN into structured product data inside your application.
How to build a barcode scanner product-lookup feature
How to connect a camera scanner to a product-data API so users can scan an item and see what it is.
StockX, GOAT, Alias and the other product and company names on this page are trademarks of their owners. Barcodes.gg is not affiliated with them.