---
title: "List an Etsy shop's items"
method: GET
path: "/v1/etsy/shop/listings"
tags: ["Etsy"]
---

# List an Etsy shop's items

`GET /v1/etsy/shop/listings`

## Request

- Base URL: `https://api.scrapeatlas.com`
- URL: `https://api.scrapeatlas.com/v1/etsy/shop/listings`
- Auth: API key in header `x-api-key`

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. Each successful request costs 1 account credit, including partial results. Failed requests cost 0 credits.

## Query parameters

- `handle` string
- `url` string
- `page` integer
- `sort` 'most_recent' | 'price_low' | 'price_high' | 'custom'
- `section_id` string
- `currency` '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'

## Response `200`

Inspect the response status and failure or coverage fields.

- union
  - object
    - `requestId` string, uuid, required
    - `accounting` object, required
      - `upstreamRequests` integer, required
      - `responseBytes` integer, required
      - `durationMs` number, required
    - `success` true, required
    - `status` 'success' | 'partial', required
    - `sourceUrl` string, uri, required
    - `fetchedAt` string, date-time, required
    - `coverage` object, required
      - `source` 'public_page' | 'public_api', required
      - `complete` boolean, required
      - `warnings` string[], required
    - `shop` object, required
      - `name` string, required
      - `id` string, nullable, required
      - `url` string, uri, required
    - `section` object, nullable, required
      - `id` string, required
      - `name` string, nullable, required
    - `sort` 'most_recent' | 'price_low' | 'price_high' | 'custom', required
    - `page` integer, required
    - `totalPages` integer, nullable, required
    - `nextPage` integer, nullable, required
    - `listingCount` integer, nullable, required
    - `items` object[], required
      - `id` string, required
      - `url` string, uri, required
      - `title` string, required
      - `seller` string, nullable, required
      - `shopId` string, nullable, required
      - `price` object, required
        - `current` number, nullable, required
        - `original` number, nullable, required
        - `currency` string, required
      - `discountPercent` integer, nullable, required
      - `image_urls` string[], required
      - `rating` object, required
        - `average` number, nullable, required
        - `count` integer, nullable, required
      - `freeShipping` boolean, required
      - `isBestseller` boolean, required
      - `isAd` boolean, required
  - object
    - `requestId` string, uuid, required
    - `accounting` object, required
      - `upstreamRequests` integer, required
      - `responseBytes` integer, required
      - `durationMs` number, required
    - `success` false, required
    - `status` 'failed' | 'challenged', required
    - `failure` object, required
      - `code` 'invalid_request' | 'unauthorized' | 'not_found' | 'upstream_challenged' | 'upstream_rate_limited' | 'upstream_error' | 'unsupported_page' | 'response_too_large' | 'unsafe_redirect' | 'request_limit' | 'timeout' | 'busy' | 'payload_too_complex', required
      - `message` string, required

## Other responses

- `400`: Request could not complete; inspect error or failure.code.
- `401`: Request could not complete; inspect error or failure.code.
- `402`: Request could not complete; inspect error or failure.code.
- `403`: Request could not complete; inspect error or failure.code.
- `404`: Request could not complete; inspect error or failure.code.
- `408`: Request could not complete; inspect error or failure.code.
- `413`: Request could not complete; inspect error or failure.code.
- `429`: Request could not complete; inspect error or failure.code.
- `500`: Request could not complete; inspect error or failure.code.
- `502`: Request could not complete; inspect error or failure.code.
- `503`: Request could not complete; inspect error or failure.code.
- `504`: Request could not complete; inspect error or failure.code.

---

[API](https://skmtc.dev/scrapeatlas/apis/scrapeatlas-api.md) · [All operations](https://skmtc.dev/scrapeatlas/apis/scrapeatlas-api/llms.txt) · [OpenAPI document](https://skmtc.dev/scrapeatlas/apis/scrapeatlas-api/revisions/9ba049316894?raw)
