atmarket

API

Everything on this site comes from a public, read-only JSON API. CORS is open, no key is needed, and the limit is 600 requests a minute per IP. The website uses the same queries, so anything you can see here, you can build on.

Need more? Free API keys raise the limit to 6000 a minute: ask this instance's operator. Send the key as x-api-key.

Prices are integers in minor units (pence, cents) with an ISO 4217 currency code. Every item has a source naming the lexicon and the at:// record it came from, so you can check it against the shop's own repo. Lists page with an opaque cursor.

EndpointReturns
GET /v1/searchListings. Parameters: q, kind, category, currency, min, max, ships_to, tier, verified=1, sort (relevance, newest, price_asc, price_desc), include_enquire, cursor, limit (max 50)
GET /v1/listings/:uriOne listing with its offers. uri is the URL-encoded at:// URI
GET /v1/merchants/:didA seller's profile and verification state. A DID or handle
GET /v1/merchants/:did/listingsThat seller's listings
GET /v1/feeds/newNewest listings, also as RSS
GET /v1/feeds/merchant/:didOne seller's newest listings; add .rss for RSS
GET /v1/categoriesCategory counts
GET /v1/claims/:uriVerified purchase claims for a listing
GET /v1/statsIndex counts
GET /v1/healthFirehose cursor age and database size; 503 when ingest has stalled
GET /img/:did/:cid?w=A resized image from the shop's own server