---
title: "The Shoes API · Open.Shoes"
canonical: "https://open.shoes/developers"
updated: null
---

# The Shoes API · Open.Shoes

HTML: [The Shoes API · Open.Shoes](https://open.shoes/developers)

Developers

# The Shoes API

Every model, offer, snapshot and drop is open JSON. The public reads take no key; a write is a signed-in person's own. There are no affiliate links and no Marketplace scraping.

## Routes

- `GET /api/v1/shoes?q&brand&size&condition&store&sort&page`: Search the catalogue. \`sort\`: recent, drop, price, price\_desc, popular, name. The answer carries the facets.
- `GET /api/v1/shoes/:slug`: One model: its offers, its daily price history, the size-price curve and the cited facts.
- `GET /api/v1/shoes/:slug/price?size=&condition=`: The lowest all-in price for a model (and size), for a Watch to poll.
- `GET /api/v1/drops?from&to`: The official release dates, soonest first, each with its source page and read time.
- `GET /api/v1/status`: The last read of each source: when, how many rows, whether it answered.
- `POST /api/v1/me/watches`: Session only: { slug, size?, condition?, threshold, currency? } → a price watch in OpenVibe.Watch.
- `GET /api/v1/me/watches`: Session only: the person's watches.
- `POST /api/v1/me/track`: Session only: { url } → a Watch for a pasted listing, through Watch's own fetch rules.
- `GET /api/openapi.json`: This API as an OpenAPI 3.1 document.

[OpenAPI 3.1](/api/openapi.json) [Try a search](/api/v1/shoes?q=air)

## Where the data comes from

- **OpenVibe.Deals** is the network's offer aggregator: Shoes reads its public newest-offer pages and keeps the footwear, then reads each product's public record for its brand.
- **eBay** is read through the official Browse API, and only when the host sets a developer key pair.
- **Release pages** are the brand's or the store's own public release calendar (Nike SNKRS by default), read by a pure parser. A release with no date is not imported.
- **No scraping** of Facebook Marketplace; a Marketplace link is tracked by the person pasting it and Watch applying its own rules.

## Examples

~~~~
curl "https://open.shoes/api/v1/shoes?q=air+max&size=10.5&sort=price"
~~~~

~~~~
curl "https://open.shoes/api/v1/shoes/nike-air-max-90"
~~~~

~~~~
curl "https://open.shoes/api/v1/drops"
~~~~

Errors are `application/problem+json` with a `code`. The public reads are rate-limited per address; a signed-in write also needs this site's origin.
