API
The resell.store API
Everything you can do in the app, your code can do too: make and publish listings, look up prices, answer offers, ship sales, reply to buyers and follow your numbers.
Quick start
- Make a secret key on resell.store/tools/api. It's shown once, so copy it somewhere safe.
- Check it works:
Terminal
export RESELL_KEY=rs_live_...
curl https://api.resell.store/v1/me \
-H "Authorization: Bearer $RESELL_KEY"- List something with one request. It goes live straight away because it has a title and a price:
Terminal
curl https://api.resell.store/v1/listings \
-H "Authorization: Bearer $RESELL_KEY" \
-d shop=maya \
-d title="Yellow dutch oven, 5.5 qt" \
-d price=185 \
-d lowest_price=160 \
-d publish=trueNot sure what it's worth? Send a prompt in your own words with research=true instead, and the research agent works out what it is and suggests a price. See Research.
Base URL
https://api.resell.store/v1Everything is under /v1. We only add to v1 (new endpoints, new fields), so code you write now keeps working. Anything that would break it gets a new version.
How it works
| Sending data | JSON with Content-Type: application/json, or plain form fields (curl -d). Nested fields use brackets: -d fields[Brand]=Le Creuset. |
| Money | US dollars as numbers: 185 or 185.5. Never cents. |
| Times | ISO 8601 in UTC, like 2026-10-02T18:30:00.000Z. |
| Objects | Every object has an object field saying what it is (listing, offer, order…) and an id. Shops and stores go by their slug. |
| Changes | PATCH takes only the fields that change. null clears a field. |
| Who sees what | With your key you see your own shops, listings, offers, sales and messages, never anyone else's. Marketplace endpoints show what any visitor sees. |
Seller and buyer, one key
A key belongs to a person, and people both sell and buy. Offers and messages take
role=seller (the default) or role=buyer to say which side you're asking about.Lists and pages
Lists come back as { "object": "list", "data": [...], "total": 42, "has_more": true }. Ask for the next page with offset, and up to 100 at a time with limit (default 25).
Terminal
curl "https://api.resell.store/v1/listings?status=live&limit=50&offset=50" \
-H "Authorization: Bearer $RESELL_KEY"Reference
Prefer a machine-readable description? openapi.json works with Postman, Insomnia and code generators.
AccountCheck a key and see what needs you.ShopsYour stores and their settings.ListingsMake, change, publish and take down listings.PhotosUpload, reorder and remove a listing's pictures.ResearchLook items up, get a price, and have the agent write the words.OffersAnswer offers as a seller, or make them as a buyer.SalesWhat sold, where it ships, and marking it shipped.MessagesConversations between buyers and shops.StatsEarnings, views, likes and where people came from.WebhooksGet told when something happens.MarketplaceSearch and browse everything for sale. No key needed.Likes and followsHearts, followed stores and share links.BuyingYour orders, checkout links and confirming delivery.