Skip to content
scrapeatlas.Dashboard

Shopping

Etsy API

Retrieve public Etsy shop profiles, shop listings, shop reviews, full listing pages, listing reviews, similar listings, search results and search suggestions as structured JSON with prices pinned to a chosen currency.

8 endpointsx-api-key

Read Etsy shops, listings, listing reviews, similar listings, reviews, search results and autocomplete suggestions.

API availability: Available

Base URL · local workerhttp://localhost:3032Public API: https://api.scrapeatlas.com.
Authenticationx-api-keyCustomer key from your account. See Authentication.

Endpoints

GET/v1/etsy/shop

Get an Etsy shop profile

Read a public Etsy shop home page: identity, headline, location, images, sales and admirer counts, star seller status, aggregate rating, item sections with counts, the announcement, latest activity, shop members, FAQ, policy date and the featured listing cards.

Reference
GET/v1/etsy/shop/listings

List an Etsy shop's items

Read one page of a shop's public item grid: 36 listing cards with canonical URLs, prices, discounts, images and badges, plus the shop section, sort, page and total pages.

Reference
GET/v1/etsy/shop/reviews

List an Etsy shop's reviews

Read a page of shop reviews, newest first, with reviewer, date, rating, text, purchased listing, seller response and shop rating.

Reference
GET/v1/etsy/listing

Get an Etsy listing

Read a public listing page: title, description, seller, prices and discounts, price range across variations, rating and review counts, gallery, availability and quantity, favourites, categories, item highlights and materials, variations with option prices, shipping origin and cost, returns policy, the embedded reviews and FAQ.

Reference
GET/v1/etsy/listing/reviews

Get Etsy listing reviews

Read one page of a listing's buyer reviews (eight per page) with its average rating, review count, count per star, summarised review tags and total pages. Sort by suggested, most recent, highest or lowest rating, or filter to one star rating.

Reference
GET/v1/etsy/listing/similar

Get similar Etsy listings

Read the listings Etsy recommends next to a public listing: up to 24 similar items and the promoted listings shown with them, as listing cards with canonical URL, title, shop ID, prices in the chosen currency, discount, image and badges.

Reference
GET/v1/etsy/search

Search Etsy listings

Read one Etsy search results page for a query: the ordered organic listing IDs (up to 48), a listing card for every organic result with shop, prices, discount, rating and badges, every promoted listing card and the total page count. organic_results_partially_embedded marks a page whose remaining organic IDs came back without card data.

Reference
GET/v1/etsy/search/suggestions

Get Etsy search suggestions

Retrieve Etsy search autocomplete terms for a partial query.

Reference

Quick start

Create an API key on your account page, then call the public API. Values below are placeholders.

Terminal
curl "https://api.scrapeatlas.com/v1/etsy/shop?handle=ExampleCraftShop" \
  -H "x-api-key: YOUR_API_KEY"

Coverage & limits

  • Independent worker on port 3032, ETSY_API_KEY in x-api-key. No login, persistent cookies, proxy, storage, media download, Etsy developer key or product dependencies.
  • Eight concurrent operations of which at most two browser device checks run at once (reads that waited for one reuse the session it cleared), 45-second total deadline, at most ten Etsy reads per operation (the requested page, the device-check re-read, up to two canonical redirect hops, the page-one primer that sorted or deep search pages use, one transient retry, and through a proxy up to two fresh exits). Challenges answered by Etsy itself, rate limits and 4xx answers are never retried.
  • Documents and Etsy's own script-data modules (lazy search cards, similar listings, listing reviews) are read over plain HTTPS with a session a browser cleared earlier: at most three sessions in process memory (three cookie pairs and a CSRF nonce each, never content), 30 minutes or 300 reads each. When no session is usable, or Etsy refuses one, the read drives a fresh headed Patchright Chromium: only Etsy documents and the challenge vendor (captcha-delivery.com) may leave the process, subresources and third parties are refused, and the final document is taken from the network before rendering. The device check must clear within 15 seconds; a visible puzzle fails as upstream_challenged. ETSY_PROXY_URL (with an optional per-read session username template) routes the whole browser through a residential proxy; Linux containers enable Chromium's software WebGL for the check and require Xvfb; readiness checks the browser binary and display.
  • 3 MiB decoded HTML per operation, 400,000 parsed nodes, depth 128; 36 listing cards, 24 similar listings, 8 listing reviews and 20 review tags per page, 14 reviews, 48 organic IDs and 20 suggestions per page; pages 1-250.
  • Prices are pinned with Etsy's locale_override query parameter (currency|en-US|US); no preference cookie is stored. Search pages carry structured data for their first organic products and the ordered IDs of the rest (organic_results_partially_embedded). Sorted or deep search pages are read after the query's first page in the same browser session.
  • Shop and listing identities are verified against the request; mismatches fail unsupported_page. Same-origin redirects are followed only to the shop's canonical casing or the listing's slugged path.
  • The listing reviews module needs the shop ID next to the listing ID: the pair is read from the listing page once and remembered in process memory (identifiers only, at most 5,000 pairs, 24 hours, oldest evicted first); a miss reads the listing page again.
Error codes
13
HTTPfailure.codeMeaning
400invalid_requestMissing, duplicate, ambiguous or unsupported parameters, unsupported URL forms, currencies or sorts.
401unauthorizedInvalid API key.
404not_foundUnknown shop, listing or reviews page.
429upstream_rate_limitedEtsy rate limited the request.
502upstream_challengedEtsy's DataDome check did not clear (status challenged).
502unsafe_redirectEtsy redirected outside the requested resource (for example a removed listing's error page).
502unsupported_pageLayout, identity or structured-data checks failed, or a non-HTML document was served.
502response_too_largeThe page exceeded 3 MiB.
502payload_too_complexThe page exceeded parsing limits.
502request_limitThe upstream document budget was exhausted.
502upstream_errorNetwork failure or an unexpected upstream status after one retry.
503busyBoth retrieval slots are occupied.
504timeoutThe 45-second deadline elapsed.