API reference

Likes and follows

Hearts, followed stores and share links.

Like a listing

PUT/v1/market/listings/:id/like
Needs a key with buying

Saves it to your likes (the heart). Doing it twice is fine.

Path

idstringrequired
The id.
Request
curl -X PUT https://api.resell.store/v1/market/listings/8d1e6c2a-…/like \
  -H "Authorization: Bearer $RESELL_KEY"
Response
{
  "object": "like",
  "listing": "8d1e6c2a-…",
  "liked": true
}

Unlike a listing

DELETE/v1/market/listings/:id/like
Needs a key with buying

Path

idstringrequired
The id.
Request
curl -X DELETE https://api.resell.store/v1/market/listings/8d1e6c2a-…/like \
  -H "Authorization: Bearer $RESELL_KEY"
Response
{
  "object": "like",
  "listing": "8d1e6c2a-…",
  "liked": false
}

Your likes

GET/v1/likes
Needs a key with read

Everything you've liked: still for sale first, then sold.

Query

limitintegerdefault 25
How many to return, 1 to 100. Default 25.
offsetintegerdefault 0
How many to skip, for the next page.
Request
curl https://api.resell.store/v1/likes \
  -H "Authorization: Bearer $RESELL_KEY"
Response
{
  "object": "list",
  "data": [
    {
      "object": "public_listing",
      "id": "8d1e6c2a-…",
      "slug": "yellow-le-creuset-dutch-oven-5-5-qt",
      "store": "maya",
      "title": "Yellow Le Creuset dutch oven, 5.5 qt",
      "one_liner": "The good one, barely used, ready for soup season",
      "price": 185,
      "shipping": 18,
      "photo": "https://files.resell.store/…",
      "category": "Home",
      "open_to_offers": true,
      "sold": false,
      "just_listed": false,
      "url": "https://maya.resell.store/yellow-le-creuset-dutch-oven-5-5-qt",
      "seller": {
        "name": "Maya's closet"
      },
      "liked": true
    }
  ],
  "total": 1,
  "has_more": false
}

Follow a store

PUT/v1/market/stores/:slug/follow
Needs a key with buying

New things from stores you follow show on your Home.

Path

slugstringrequired
The shop's slug.
Request
curl -X PUT https://api.resell.store/v1/market/stores/maya/follow \
  -H "Authorization: Bearer $RESELL_KEY"
Response
{
  "object": "follow",
  "store": "maya",
  "following": true
}

Unfollow a store

DELETE/v1/market/stores/:slug/follow
Needs a key with buying

Path

slugstringrequired
The shop's slug.
Request
curl -X DELETE https://api.resell.store/v1/market/stores/maya/follow \
  -H "Authorization: Bearer $RESELL_KEY"
Response
{
  "object": "follow",
  "store": "maya",
  "following": false
}

Stores you follow

GET/v1/following
Needs a key with read

Most recently followed first, each with its newest few listings.

Query

limitintegerdefault 25
How many to return, 1 to 100. Default 25.
offsetintegerdefault 0
How many to skip, for the next page.
Request
curl https://api.resell.store/v1/following \
  -H "Authorization: Bearer $RESELL_KEY"
Response
{
  "object": "list",
  "data": [
    {
      "object": "followed_store",
      "slug": "maya",
      "name": "Maya's closet",
      "for_sale": 12,
      "has_new": true,
      "newest": [
        {
          "id": "8d1e…",
          "title": "Yellow Le Creuset dutch oven, 5.5 qt",
          "price": 185,
          "url": "https://maya.resell.store/…"
        }
      ]
    }
  ],
  "total": 1,
  "has_more": false
}

Share a listing

POST/v1/market/listings/:id/share
Needs a key with buying

Gives you the listing's link to share, tagged with where it's going (so the seller's stats can tell), and counts the share.

Path

idstringrequired
The id.

Body

channelstring
Where it's going: ig, fb, whatsapp, tiktok, pinterest, x, sms, email… Optional.
Request
curl https://api.resell.store/v1/market/listings/8d1e6c2a-…/share \
  -H "Authorization: Bearer $RESELL_KEY" \
  -d channel=whatsapp
Response
{
  "object": "share",
  "listing": "8d1e6c2a-…",
  "url": "https://maya.resell.store/yellow-le-creuset-dutch-oven-5-5-qt?ref=whatsapp",
  "text": "Yellow Le Creuset dutch oven, 5.5 qt, $185 at Maya's closet"
}