---
title: "Etsy API: JSON data, 1 endpoint, from 10 credits per call"
description: "Etsy API for listing details as JSON: price and discount, stock, variations, materials, images, shop and favourites. 10 credits per successful call."
url: https://perceptlayer.com/apis/etsy
---

[APIs](https://perceptlayer.com/apis) / [Marketplaces](https://perceptlayer.com/verticals/marketplaces) / Etsy

from 10 credits per call 1 endpoint 2 datapoints

# Etsy API

Etsy API for listing details as JSON: price and discount, stock, variations, materials, images, shop and favourites. 10 credits per successful call.

[Get a free API key](https://perceptlayer.com/signup) Run it below

Etsy

GET /v1/etsy/product?listing\_id=1241528786 

```
{
  "success": true,
  "data": {
    "listing_id": "1241528786",
    "url": "https://www.etsy.com/listing/1241528786/personalized-leather-rfid-wallet",
    "title": "Personalized Leather RFID Wallet, Engraved Genuine Leather Custom Wallet, Anniversary Gift For Him, Husband, Boyfriend, Men, Father, Dad",
    "description": "This Personalized Leather RFID Wallet is the perfect Engraved Genuine Leather Custom Wallet, ideal as an Anniversary Gift for Him, Husband, Boyfriend, Men, Father, or Dad. Show your loved one you care with a timeless and practical gift.\n\nWe…",
    "category": [
      "Wallets"
    ],
    "price": {
      "current": 28,
      "original": 70,
      "discount_percent": 60,
      "currency": "USD"
    },
    "availability": "InStock",
    "quantity_available": 1333,
    "rating": {},
    "images": [
      {
        "url": "https://i.etsystatic.com/35016605/r/il/a5f633/4007318605/il_fullxfull.4007318605_mj36.jpg",
        "thumbnail": "https://i.etsystatic.com/35016605/r/il/a5f633/4007318605/il_340x270.4007318605_mj36.jpg"
      },
      {
        "url": "https://i.etsystatic.com/35016605/r/il/4ca749/3959645938/il_fullxfull.3959645938_mdoe.jpg",
        "thumbnail": "https://i.etsystatic.com/35016605/r/il/4ca749/3959645938/il_340x270.3959645938_mdoe.jpg"
      },
      {
        "url": "https://i.etsystatic.com/35016605/r/il/1e93ec/4668917675/il_fullxfull.4668917675_aqlz.jpg",
        "thumbnail": "https://i.etsystatic.com/35016605/r/il/1e93ec/4668917675/il_340x270.4668917675_aqlz.jpg"
      }
    ],
    "materials": [
      "Leather",
      "Nylon"
    ],
    "variations": [
      {
        "name": "Engraving Side",
        "options": [
          {
            "id": "2705057689",
            "label": "No Engraving"
          },
          {
            "id": "2682504520",
            "label": "Front Side Only"
          },
          {
            "id": "2705057695",
            "label": "Inside Left Only"
          }
        ]
      },
      {
        "name": "Color",
        "options": [
          {
            "id": "2682504516",
            "label": "Light Brown"
          },
          {
            "id": "2705057691",
            "label": "Coffee Brown"
          },
          {
            "id": "2705057693",
            "label": "Black"
          }
        ]
      }
    ],
    "shipping": {
      "origin_country": "US"
    },
    "shop": {
      "id": "35016605",
      "name": "PremiumEngrave",
      "url": "https://www.etsy.com/shop/PremiumEngrave"
    },
    "favorites_count": 19378,
    "listed_on": "2026-11-12"
  },
  "meta": {
    "endpoint_family": "etsy-listing",
    "attempts": 1,
    "request_id": "req_cef5a95241574a968fd0fb23440aff7d",
    "credits_charged": 10,
    "credits_remaining": 1934
  }
}
```

200 OK JSON X-Credits-Used: 10

Recorded from our API and shortened.

Sample data

## What one call returns

A recorded run of `product`: the fields and shapes you will get, shortened to 3 items.

| # | url url | thumbnail url |
| --- | --- | --- |
| 1 | https://i.etsystatic.com/35016605/r/il/a5f633/4007318605/il\_fullxfull.4007318605\_mj36.jpg | https://i.etsystatic.com/35016605/r/il/a5f633/4007318605/il\_340x270.4007318605\_mj36.jpg |
| 2 | https://i.etsystatic.com/35016605/r/il/4ca749/3959645938/il\_fullxfull.3959645938\_mdoe.jpg | https://i.etsystatic.com/35016605/r/il/4ca749/3959645938/il\_340x270.3959645938\_mdoe.jpg |
| 3 | https://i.etsystatic.com/35016605/r/il/1e93ec/4668917675/il\_fullxfull.4668917675\_aqlz.jpg | https://i.etsystatic.com/35016605/r/il/1e93ec/4668917675/il\_340x270.4668917675\_aqlz.jpg |

Recorded from our API · 3 items shown · 2 datapoints per item GET /v1/etsy/product?listing\_id=1241528786

2 datapoints

### Contact

-   url url

### Other

-   thumbnail url

Playground

## Run this API

cURL shell 

```
curl "https://api.perceptlayer.com/v1/etsy/product?listing_id=1241528786" \
  -H "X-API-Key: $API_KEY"
```

Etsy · 1 endpoint

## Endpoints

Every endpoint takes the same key. Open one for its parameters and an example request.

| Endpoint | Required parameters | Cost |
| --- | --- | --- |
| [GET `/v1/etsy/product`](https://perceptlayer.com/apis/etsy/product) | none +2 optional | 10 credits |

Overview

## About the Etsy API

## What you can get

The Etsy API returns Etsy listing data as JSON through 1 endpoint.

-   **Listings:** `product` takes a `listing_id` or a listing `url`.

The recorded listing returns `listing_id`, `url`, `title`, `description`, `category`, `price` ( `current`, `original`, `discount_percent` and `currency`), `availability`, `quantity_available`, `rating`, `images` (each with `url` and `thumbnail`), `materials`, `variations` (each with a `name` and its `options`), `shipping` with `origin_country`, `shop` ( `id`, `name` and `url`), `favorites_count` and `listed_on`.

## How a call works

Look up a listing: `GET /v1/etsy/product?listing_id=1241528786` with your key in the `X-API-Key` header. The `listing_id` is the number in the listing's URL, or pass the whole `url` instead. The response's `shop` gives the shop's `id`, `name` and `url`. Every successful call costs 10 credits; failed calls cost nothing.

Marketplaces JSON REST MCP

### More marketplaces APIs

[About You](https://perceptlayer.com/apis/about-you) [adidas](https://perceptlayer.com/apis/adidas) [AliExpress](https://perceptlayer.com/apis/aliexpress) [Allegro](https://perceptlayer.com/apis/allegro) [Amazon](https://perceptlayer.com/apis/amazon) [ASOS](https://perceptlayer.com/apis/asos) [Billiger.de](https://perceptlayer.com/apis/billiger) [bol.com](https://perceptlayer.com/apis/bol) [Chrono24](https://perceptlayer.com/apis/chrono24) [Costco](https://perceptlayer.com/apis/costco) [Craigslist](https://perceptlayer.com/apis/craigslist) [DBA](https://perceptlayer.com/apis/dba)

Use cases

### Track prices and discounts for a list of Etsy listings

`Use the Etsy API to track prices and discounts for a list of Etsy listings` 

### Watch stock with \`quantity\_available\`

`` Use the Etsy API to watch stock with `quantity_available` `` 

### Compare variations and materials across similar listings

`Use the Etsy API to compare variations and materials across similar listings` 

### Follow listing popularity through \`favorites\_count\`

`` Use the Etsy API to follow listing popularity through `favorites_count` `` 

FAQ

## Questions

**How much does the Etsy API cost?**

Each successful \`product\` call costs 10 credits; failed calls cost nothing. New accounts get free credits to start, and credit packs bring the price down as you scale.

**Can I pass a listing URL instead of an id?**

Yes. \`product\` takes either a \`listing\_id\` or the listing's \`url\`.

**Do I need an Etsy account?**

No. You call this Etsy API with your Perceptlayer key in the \`X-API-Key\` header, with no Etsy login.

**What format are responses in?**

Every endpoint returns JSON, with no HTML parsing on your side.

**Should I build an Etsy scraper instead?**

You can, but an Etsy scraper is code you maintain: page changes break it, requests get blocked, and Etsy's terms govern how you collect data. The Etsy API gives you 1 endpoint of named JSON fields for 10 credits per successful call, and failed calls cost nothing. A scraper makes sense only for data these endpoints don't return, so check the response in the playground on this page first.

## Try the Etsy API with 100 free credits

No credit card. Failed calls are never billed.

[Get a free API key](https://perceptlayer.com/signup) [Read the docs](https://docs.perceptlayer.com)
