Etsy category listings

GET https://api.api.sh/etsy/v1/category
1 credit / call e-commerce try it in the playground →

Listings in an Etsy category (etsy.com/c/...), with the site's sort and filters: price range, free shipping, on sale, Star Seller and ship-to country. Returns the category name, breadcrumbs, its subcategories (pass a path back to drill down), listing_ids (every result on the page, 48 or more, in rank order) and listings (cards with price, discount, rating, shop, flags and image). Pass next_page back as page; null on the last page.

Every response includes credits_used: the credits this call cost.

Parameters

nametypedescription
path string Category path after /c/ in an Etsy link, e.g. home-and-living/kitchen-and-dining or jewelry/necklaces. Example: home-and-living/kitchen-and-dining
url string An etsy.com /c/ category link, instead of path.
sort relevance | price_asc | price_desc | newest | reviews relevance (default), price_asc, price_desc, newest, reviews.
min_price string Lowest price (USD).
max_price string Highest price (USD).
free_shipping string 1 = only listings with free shipping.
on_sale string 1 = only discounted listings.
star_seller string 1 = only Star Sellers.
ship_to string Two-letter country the listing ships to.
page integer Page number (1-250). Pass next_page from the previous response.

Every endpoint also takes fresh, raw, fields (see lean responses and caching).

Example

curl "https://api.api.sh/etsy/v1/category?path=home-and-living%2Fkitchen-and-dining" \
  -H "x-api-key: $APISH_KEY"

Response

A JSON object with the fields described above, plus raw (the source's own data), cached, fetched_at and credits_used. Errors return {"success": false, "error": "…"} with the HTTP status (see errors). A lookup that ran but found nothing (404) costs the price above; refused calls and errors on our side are free (what's charged).

The fastest way to see the full response is the playground: it runs this endpoint with your account and shows the exact JSON.