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.
/v1/etsy/shopx-api-keyHeaders
Get your API keyYour ScrapeAtlas customer key. Create one on /account/ and set SCRAPEATLAS_API_KEY.
Etsy shop name as it appears in etsy.com/shop/{handle} (letters and digits); provide either handle or url.
ExampleCraftShopFull shop URL: https://www.etsy.com/shop/{handle}, a regional prefix such as /uk/shop/{handle}, or https://{handle}.etsy.com.
max 2048 chars
Display currency pinned through Etsy's own locale override (default USD). One of the 30 currencies Etsy offers; language and region stay en-US / US.
one of: AUD, BRL, CAD, CHF, CNY, CZK, DKK, EUR, GBP, HKD, HUF, IDR, ILS, INR, JPY, MAD, MXN, MYR, NOK, NZD, PHP, PLN, SEK, SGD, THB, TRY, TWD, USD, VND, ZAR · default: "USD"
Request correlation UUID.
Upstream document reads (a DataDome device check adds one read), decoded bytes delivered to the parser and elapsed milliseconds.
Always included.
≥ 0
Always included.
≥ 0
Always included.
≥ 0
True when usable public data is returned; inspect status and coverage for omissions.
success, partial, failed or challenged. HTTP 200 can be partial.
one of: success, partial
Canonical public Etsy URL the response describes, without locale or tracking parameters.
absolute HTTPS URL
UTC retrieval timestamp.
Complete means every supported field on this page was read; warnings name each omission or cap. It never implies the shop's or query's full catalogue.
Always included.
one of: public_page, public_api
Always included.
Always included.
Always included.
Always included.
min 1 chars
Always included.
Always included.
absolute HTTPS URL
Always included.
Always included.
Always included.
Always included.
Always included.
Always included.
Always included.
Aggregate shop rating average and review count from the page's structured data.
Always included.
Always included.
Whether Etsy's Star Seller badge is rendered.
Active item count from the shop search box ("Search all N items").
Shop sections (id, name, count) excluding the "All" tab; ids can be passed as section_id to shop/listings.
Always included.
Always included.
Always included.
Announcement text with line breaks and its last-updated date, or null.
Always included.
Always included.
Seller's latest activity type and ISO timestamp, or null.
Always included.
Always included.
Numeric user ID behind the contact-shop-owner action.
Shop members with id, name, role, bio and avatar as published.
Always included.
Always included.
Always included.
Always included.
Always included.
Frequently asked questions and answers from the page's structured data.
Always included.
Always included.
Date the shop policies were last updated, or null.
Listing cards the shop pins above its item grid (same shape as shop/listings items).
Always included.
Always included.
absolute HTTPS URL
Always included.
Always included.
Always included.
Always included.
Always included.
Always included.
Always included.
Always included.
Always included.
Always included.
Always included.
Always included.
Always included.
Always included.
Always included.
No fields match.
HTTP 200 returns the success variant. Check status: partial means usable data with warnings, and failed or challenged requests carry a failure object described in Errors & responses.
| HTTP | failure.code | Meaning |
|---|---|---|
| 400 | invalid_request | Missing, duplicate, ambiguous or unsupported parameters, unsupported URL forms, currencies or sorts. |
| 401 | unauthorized | Invalid API key. |
| 404 | not_found | Unknown shop, listing or reviews page. |
| 429 | upstream_rate_limited | Etsy rate limited the request. |
| 502 | upstream_challenged | Etsy's DataDome check did not clear (status challenged). |
| 502 | unsafe_redirect | Etsy redirected outside the requested resource (for example a removed listing's error page). |
| 502 | unsupported_page | Layout, identity or structured-data checks failed, or a non-HTML document was served. |
| 502 | response_too_large | The page exceeded 3 MiB. |
| 502 | payload_too_complex | The page exceeded parsing limits. |
| 502 | request_limit | The upstream document budget was exhausted. |
| 502 | upstream_error | Network failure or an unexpected upstream status after one retry. |
| 503 | busy | Both retrieval slots are occupied. |
| 504 | timeout | The 45-second deadline elapsed. |