ScavioScavio
ToolsPricing
Sign InsGet Startedg
5 live endpoints

Etsy API

Listing search, full product detail, shop storefronts, a shop's whole catalogue and shop-wide paginated reviews — each one a single POST returning structured JSON. No other unified API covers Etsy at all.

Get your API keyRead the docs

50 free credits on signup. No card, no Etsy developer app.

POST /api/v1/etsy/search
captured response
query:ceramic mug
Run it with your key
{  "data": {    "query": "ceramic mug",    "page": 1,    "listings": [      {        "pos": 1,        "listing_id": "1510223855",        "title": "The Libby Travel Mug hand thrown ceramic mug cup Pottery Travel Mug Cup",        "url": "https://www.etsy.com/listing/1510223855/",        "image_url": "https://i.etsystatic.com/8740835/r/il/d4f720/7239142492/il_255x319.jpg",        "price": {          "amount": 34.5,          "currency": "USD",          "original_amount": null,          "discount_pct": null,          "on_sale": false        },        "shop": {          "id": "8740835",          "name": "StonehousePotteryOH"        },        "rating": 4.9,        "review_count": 16600,        "is_ad": false,        "free_shipping": false      }    ]  },  "response_time": 2043,  "credits_used": 2,  "credits_remaining": 4738}
captured example · 2 credits50 free credits on signup

A real captured response from this endpoint. Sign up to run your own.

What is the Scavio Etsy API?

The Scavio Etsy API is a REST API that returns public Etsy data as structured JSON. You send a keyword, listing id or shop name to one of 5 POST endpoints with your API key, and get back listing search results, full product detail, shop storefront data, a shop's active listings, or shop-wide paginated reviews.

5
endpoints, all live in production
2
credits per call, every endpoint
0
other unified APIs cover Etsy

The four you'll reach for first

Search finds it, detail describes it, shop tells you who's behind it, reviews tell you what buyers think.

Search

POST /api/v1/etsy/search

Listings by keyword with price, rating and shop attached, plus real server-side filters for price range, free shipping and on-sale.

Listing detail

POST /api/v1/etsy/product

One item in full — description, material, category path, variations, the whole image set and the first page of reviews.

Shop

POST /api/v1/etsy/shop

A seller's storefront: lifetime sales, admirers, rating, location, opened year and every shop section. Nobody else sells this.

Reviews

POST /api/v1/etsy/reviews

Shop-wide reviews, paginated, each one linked back to the listing it is about — a feed you cannot get anywhere else as JSON.

All 5 Etsy endpoints

Every route is a POST, returns JSON, and takes the same API key. 2 credits per successful call.

EndpointReturnsCredits
Search/api/v1/etsy/searchListings by keyword — title, price, sale flags, rating, shop; price, shipping and sale filters2
Listing detail/api/v1/etsy/productOne listing in full — price, description, material, category path, variations, every image, first reviews2
Shop/api/v1/etsy/shopSeller storefront — sales count, admirers, rating, location, opened year, sections, star-seller flag2
Shop listings/api/v1/etsy/shop/productsEvery active listing in a shop, paginated — title, price, image, ids2
Reviews/api/v1/etsy/reviewsShop-wide reviews, paginated — rating, author, date, text, each linked to its source listing2

50 free credits on signup covers 25 calls of any kind. See plans

Search a category, then mine a shop's reviews

Filter listings server-side, then page a whole shop's reviews. The response on the right is a real capture, field names and all.

from scavio import ScavioClient

client = ScavioClient(api_key="sk_live_your_key")

# Search with real server-side filters
res = client.etsy.search(query="ceramic mug", on_sale=True)
for p in res["data"]["listings"]:
    print(p["listing_id"], p["price"]["amount"], p["title"][:40])

# Then walk a shop's reviews, page by page
reviews = client.etsy.reviews(shop="StonehousePotteryOH", page=1)
for r in reviews["data"]["reviews"]:
    print(r["rating"], r["author"], r["text"][:60])
200 response.jsoncaptured
{
  "data": {
    "query": "ceramic mug",
    "page": 1,
    "listings": [
      {
        "pos": 1,
        "listing_id": "1510223855",
        "title": "The Libby Travel Mug hand thrown ceramic mug cup Pottery Travel Mug Cup",
        "url": "https://www.etsy.com/listing/1510223855/",
        "image_url": "https://i.etsystatic.com/8740835/r/il/d4f720/7239142492/il_255x319.jpg",
        "price": {
          "amount": 34.5,
          "currency": "USD",
          "original_amount": null,
          "discount_pct": null,
          "on_sale": false
        },
        "shop": { "id": "8740835", "name": "StonehousePotteryOH" },
        "rating": 4.9,
        "review_count": 16600,
        "is_ad": false,
        "free_shipping": false
      }
    ]
  },
  "response_time": 2043,
  "credits_used": 2,
  "credits_remaining": 4738
}

Why not Etsy's Open API?

It exists, and it is built for managing your own shop — not for researching everyone else's.

Etsy Open API v3

  • Requires a registered application, an OAuth flow and approval before you can call it
  • Oriented around a shop that has authorised your app, not open browsing of arbitrary public shops
  • No plain endpoint for shop-wide reviews across every listing
  • Rate limited per application, with keys and tokens to issue and refresh

Scavio Etsy API

  • One API key, issued at signup — no app, no OAuth, no approval
  • Any public listing, shop or review by keyword, id or shop name
  • Shop data and shop-wide paginated reviews nobody else sells as JSON
  • Same key and JSON envelope as 30 other Scavio platforms

Scavio returns publicly available data only, and never authenticates as an Etsy user.

What developers build with it

Handmade and vintage market research

Search a category and read real prices, ratings and review counts across hundreds of listings, then size demand and pricing bands before you list a single product of your own.

search

Seller and competitor intelligence

Resolve any shop to its lifetime sales, admirer count, rating and section structure, then pull every active listing to map a competitor's full catalogue and price ladder.

shop + shop/products

Review mining and product feedback

Page a shop's entire review history — each review linked to the listing it is about — and feed the text to an LLM for complaints, sizing issues, shipping themes or purchase intent.

reviews + product

Price and sale tracking

Run a set of listings on a schedule and diff the results. The price object carries original_amount, discount_pct and an on_sale flag, so markdown depth falls out of a single call.

search + product

Catalogue and enrichment feeds

Pull full listing detail — material, category path, variation options with ids and the complete image set — to enrich an internal product feed or seed a marketplace comparison.

product

Agent shopping and research tools

Point an agent at the MCP server and Etsy becomes a callable tool — find this, what does this shop sell, what do buyers say — with one key and the same JSON as every other platform.

MCP + REST

How to get Etsy data as JSON

  1. 1

    Get an API key

    Sign up for a Scavio account and copy your key from the dashboard. You get 50 credits free on signup, with no card required and no Etsy developer application.

  2. 2

    POST a keyword, listing or shop

    Send {"query": "ceramic mug"} to https://api.scavio.dev/api/v1/etsy/search with an Authorization: Bearer header. All five endpoints are POSTs and take a keyword, listing id or URL, or a shop name.

  3. 3

    Read the JSON

    The response wraps the payload under data, plus credits_used and credits_remaining. Search, shop listings and reviews all carry page, so you page by incrementing page on the next call.

One key, 31 platformsMCP server for agentsPython & JS SDKsn8n community node

Etsy API FAQ

What is the Scavio Etsy API?

+

It is a REST API that returns public Etsy data as structured JSON. Five POST endpoints cover listing search, full listing detail, shop storefront data, a shop's active listings, and shop-wide paginated reviews. You authenticate with a Scavio API key and never handle Etsy credentials.

Is there really no other API that covers Etsy?

+

Not as a unified sync REST API. Etsy exists elsewhere only as a product-parse-only endpoint, or an async dataset that returns products alone, or a tail of one-off actors. A single key that returns search, listing detail, shop data, shop listings and paginated reviews together is first of its kind — and shop data and shop-wide reviews are the two pieces nobody else sells at all.

Who are these endpoints for?

+

Handmade and vintage sellers researching pricing and demand; developers building marketplace, comparison or valuation features; AI agent builders wiring Etsy in as an MCP or SDK tool; automation engineers running catalogue and price checks inside n8n, Zapier or Make; and analysts mining shop reviews for product feedback. Same API for all of them — what changes is which of the five endpoints you call.

Can I get a shop's reviews, not just a listing's?

+

Yes, and it is one of the main reasons to use this. The reviews endpoint returns a shop's reviews across all of its listings, paginated, with each review linked back to the specific listing it is about. The listing detail endpoint also returns the first page of reviews for a single item.

Do the search filters actually work server-side?

+

Yes. Price range, free shipping and on-sale are real filters applied at the source, not post-filtering of a full result set — so on_sale: true returns only discounted listings, and each result carries original_amount and discount_pct so you can see the markdown.

How is this different from Etsy's official Open API?

+

Etsy's Open API v3 requires a registered application, an OAuth flow, and approval before you can call it, and much of it is oriented around a shop that has authorised your app rather than open browsing of arbitrary public shops and reviews. Scavio needs no app, no OAuth and no approval: sign up, take the key, send a keyword or shop name.

How much does an Etsy request cost?

+

Every Etsy endpoint costs 2 credits per successful call — search, listing detail, shop, shop listings and reviews alike. New accounts get 50 free credits on signup, one time, with no card required. Paid plans start at $30 per month for 7,000 credits.

What does the response look like?

+

The API wraps the payload under a data key and adds credits_used and credits_remaining. A search listing carries listing_id, title, url, image_url, a price object with amount, currency, original_amount, discount_pct and on_sale, a shop object, rating and review_count. Shop data adds sales_count, admirers_count, location, opened_since and sections.

Do prices come back in a single currency?

+

Listing and search results return the price amount with its currency code on the price object, so a stored response is self-describing. Read amount and currency together rather than assuming a fixed currency.

Which languages and tools are supported?

+

Official Python (pip install scavio) and JavaScript/TypeScript (npm i scavio) SDKs, a remote MCP server at mcp.scavio.dev for AI agents, and an n8n community node. Any language can call the REST endpoints directly with an HTTP client.

Is scraping Etsy data legal?

+

Scavio returns publicly available listing, shop and review data and does not access private account data or authenticate as a user. You remain responsible for how you use the data, including compliance with Etsy's terms and with privacy law where personal data is involved. Talk to your own counsel for your specific use case.

Explore more of Scavio

eBay API

Live and SOLD listings, item detail and sellers.

Amazon API

Search, product detail and every seller offer.

Walmart API

Search, product, reviews and sellers.

Google Shopping API

Products, prices and every seller.

MCP server

Every platform as a callable tool for agents.

Pricing

Credit packs and plans, no per-platform surcharge.

Start pulling Etsy data today

50 free credits on signup, no card. Your first request is a POST with a keyword in it.

Get your API keySee pricing
ScavioScavio

One scraper API for every social, search and ecommerce platform. Built for AI agents.

Product

  • Features
  • Pricing
  • Dashboard
  • Affiliates

Developers

  • Documentation
  • API Reference
  • Quickstart
  • MCP Integration
  • Python SDK

Alternatives

  • Tavily Alternative
  • SerpAPI Alternative
  • Firecrawl Alternative
  • Exa Alternative
  • Serper Alternative
  • Tavily vs Scavio
  • SerpAPI vs Scavio
  • All alternatives
  • Compare Scavio vs alternatives

Search APIs

  • Google Search API
  • Amazon Product API
  • YouTube API
  • Reddit API
  • Walmart Product API
  • TikTok API
  • Instagram API

Tools

  • All Tools

© 2026 Scavio. All rights reserved.

Featured on TAAFT
Terms of ServicePrivacy Policy