Sneakers APIsneakers.com ↗
Search and browse sneakers.com listings via API. Get product details, brand/category filters, per-size pricing, flash sales, and trending search terms.
What is the Sneakers API?
The sneakers.com API exposes 6 endpoints for searching, browsing, and retrieving sneaker product data from sneakers.com. The get_product_details endpoint returns per-size offer pricing, GTINs, colorway, midsole material, SKU, and release metadata for individual products. Other endpoints cover category and brand browsing, flash sale discovery, and trending search terms — all returning paginated summaries with brand and color filter facets.
curl -X GET 'https://api.parse.bot/scraper/767e4cfe-4886-4fbf-9867-33db03dcbde2/search_sneakers?page=1&limit=20&query=jordan' \ -H 'X-API-Key: $PARSE_API_KEY'
Typed, relational, agent-ready
A generated client with real types, enums, and the links between objects — the structure a flat JSON response can't carry. Autocompletes in your editor and reads cleanly to coding agents.
- Fully typed · autocompletes
- Objects link to objects
- Typed errors & pagination
Typed Python client. Set up the SDK in your uv project, then pull this API’s typed client:
uv add parse-sdk uv run parse init uv run parse add --marketplace sneakers-com-api
uv run parse add --marketplace pulls a pinned snapshot of this canonical API — it won’t change underneath you. To customize it, subscribe and swap to your own copy.
"""Sneakers.com SDK — search, browse by category/brand, drill into details."""
from parse_apis.sneakers_com_api import Sneakers, Category, ProductNotFound
client = Sneakers()
# Search for sneakers by keyword; limit= caps total items fetched.
for item in client.sneakersummaries.search(query="jordan", limit=5):
print(item.title, item.brand_name, item.silhouette)
# Browse a specific category using the Category enum.
for item in client.sneakersummaries.list_by_category(category=Category.RUNNING, limit=3):
print(item.title, item.in_stock, item.gender)
# Drill into one result for full pricing and sizing details.
summary = client.sneakersummaries.search(query="nike dunk", limit=1).first()
if summary:
sneaker = summary.details()
print(sneaker.name, sneaker.sku, sneaker.color, sneaker.retail_price_cents)
for offer in sneaker.offers[:3]:
print(offer.size, offer.price, offer.availability)
# Fetch a product directly by slug.
try:
detail = client.sneakers.get(slug="air-jordan-1-mid-legend-blue-fz2142-114")
print(detail.name, detail.brand_name, detail.midsole)
except ProductNotFound as exc:
print(f"Product gone: {exc.slug}")
# Check current flash sale.
sale = client.flashsales.get_active()
print(sale.deal_group.title, sale.item_count, sale.total_pages)
# See what's trending.
for trend in client.trendingsearches.list(limit=4):
print(trend.term)
print("Done: search / list_by_category / details / get / get_active / trending list")
Full-text search over all sneaker listings by keyword. Returns paginated product summaries with available brand and color filters plus total result count. The query is matched against product titles and attributes. Each item includes pricing, stock status, and a slug for drill-down via get_product_details.
| Param | Type | Description |
|---|---|---|
| page | integer | Page number for pagination. |
| limit | integer | Maximum results per page. |
| queryrequired | string | Search keyword (e.g. 'jordan', 'nike dunk', 'yeezy'). |
{
"type": "object",
"fields": {
"page": "integer current page number",
"items": "array of sneaker product summaries with id, slug, title, brandName, pricing, stock status",
"brands": "array of brand filter objects with value, slug, and count",
"colors": "array of color filter objects with value, slug, and count",
"search_term": "string echoing the resolved search term",
"total_results": "integer total number of matching products"
},
"sample": {
"data": {
"page": 1,
"items": [
{
"id": "670780",
"slug": "air-jordan-7-greater-china-special-box-cw2805-160",
"title": "Men's Air Jordan 7 Retro 'Greater China'",
"gender": "men",
"status": "active",
"inStock": true,
"brandName": "Air Jordan",
"pictureUrl": "https://images.sneakers.com/attachments/product_template_pictures/images/084/404/515/original/670780_00.png.png",
"silhouette": "Air Jordan 7",
"localizedRetailPriceCents": {
"currency": "USD",
"amountCents": 20000
}
}
],
"brands": [
{
"slug": "air-jordan",
"count": 4134,
"value": "Air Jordan"
}
],
"colors": [
{
"slug": "white",
"count": 1088,
"value": "White"
}
],
"search_term": "Jordan",
"total_results": 4196
},
"status": "success"
}
}About the Sneakers API
Search and Browse
The search_sneakers endpoint accepts a query string (e.g. 'nike dunk', 'yeezy') and returns paginated product summaries — each with an id, slug, title, brandName, pricing, and stock status. Alongside the item array, the response includes brands and colors filter facet arrays (each with value, slug, and count) and a total_results integer. Use the page and limit parameters to walk through result sets. The get_sneakers_by_category endpoint accepts a fixed set of activity slugs — running, basketball, casual, hiking, boot, or training — and returns the same paginated summary structure with a activity display name field. get_sneakers_by_brand takes a lowercase hyphenated brand slug like 'new-balance' or 'air-jordan' and returns brand-scoped listings.
Product Details
get_product_details takes a slug sourced from any listing endpoint's items[*].slug field and returns the full product record. The response includes sku, name, color, gender, nickname, midsole, brand_name, and status. The offers array contains one object per available size, each with price, availability, and gtin — giving per-size inventory and pricing data in a single call.
Flash Sales and Trending Terms
get_flash_sale_sneakers requires no parameters and returns the currently active deal group: a deal_group object with id, title, start_time, end_time, and status, plus an items array of discounted inventory, item_count, and total_pages. Between deal windows the items array may be empty. get_trending_searches returns a searches array of strings reflecting current search popularity on the site — useful for building autocomplete suggestions or tracking what styles are gaining attention.
The Sneakers API is a managed, monitored endpoint for sneakers.com — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when sneakers.com changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.
This isn't an official sneakers.com API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.
Will this API break when the source site changes?+
Is this an official API from the source site?+
Can I fix or extend this API myself if I need a new endpoint or field?+
What happens if I call an endpoint that has an issue?+
- Build a sneaker price tracker that polls
get_product_detailsfor per-size offer prices and alerts when a target size drops below a threshold. - Aggregate flash sale inventory from
get_flash_sale_sneakersto notify subscribers when a new deal window opens. - Populate a brand-filtered product catalog using
get_sneakers_by_brandwith slugs like'adidas'or'puma'. - Generate autocomplete suggestions in a sneaker search UI using the
searchesarray fromget_trending_searches. - Compare stock availability across categories by iterating
get_sneakers_by_categoryover the six supported activity slugs. - Extract GTINs from
get_product_detailsoffers to cross-reference sneakers against barcode databases or resale marketplaces. - Feed a content feed with colorway and nickname data from
get_product_detailsto auto-generate sneaker release write-ups.
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 100 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 100 req/min |
One credit = one API call regardless of which marketplace API you call. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.
Does sneakers.com have an official developer API?+
What does the `offers` array in `get_product_details` actually contain?+
offers represents one size variant and includes a price, an availability status, and a gtin (Global Trade Item Number). This lets you see which sizes are in stock and what each costs individually, rather than a single aggregate price.Can I filter search results by color or brand in a single `search_sneakers` call?+
search_sneakers endpoint returns brands and colors facet arrays with counts so you can present filters to users, but it does not currently accept brand or color as direct input parameters — only query, page, and limit. You can fork this API on Parse and revise it to add brand or color filter parameters to the search endpoint.Are user reviews or ratings available through this API?+
How fresh is the flash sale data, and what happens between sale windows?+
get_flash_sale_sneakers endpoint reflects the currently active deal group at the time of the request. The deal_group object includes start_time and end_time fields so you can determine the sale window. If no sale is running, the items array will be empty and item_count will be zero — the endpoint still returns a valid response rather than an error.