API Etsy

Etsy Поиск API

Search Etsy listings by keyword, the same results an Etsy search or /market page shows, with optional sort, price range and page, and get title, price, original price, image, shop, rating and ad flag for each listing in one normalized response.

POST/v1/run/etsy.search
Доступность
100,00%
30d · 1 вызов
Запросы
1
30d
Ответ
2,9s
медиана · 30d

Цены и поставщики

Цена API Etsy Поиск: один API, поставщиков 2, и любой может заменить другого

Первым обслуживает самый дешёвый поставщик. Если он не отвечает, его заменяет следующий в том же вызове.

Вы платите
8,50 USD
0,85 USD/1 тыс. запросов, только за то, чем пользуетесь. Без ежемесячного тарифа.
Ваши первые запросы (117) бесплатны за счёт стартового баланса 0,10 USD.

Попробовать

Получите Etsy Поиск одним запросом

requireFieldsarray
Optional; omit it and routing is unchanged, with the cheapest source serving. Name the output fields this request must be able to return, for example `rating`, and it is served only by a source that returns every one of them. Fields you do not name are still returned whenever the serving source has them. This can raise your price: when the cheapest source cannot return a named field, a dearer source serves, and you are quoted and charged its price. Naming a combination that no single source returns together is refused as invalid input, with no charge.
Открыть в
Пример ответа
Бесплатные запуски возвращают только первые результаты: 3. Пополните ключ, чтобы получить полный ответ.
{
  "data": {
    "items": [
      {
        "currency": "USD",
        "image": "https://example.com/image.jpg",
        "isSponsored": true,
        "listingId": "a1b2c3d4",
        "originalPrice": 19.99,
        "price": 19.99,
        "rating": 4.6,
        "reviewsCount": 12500,
        "shopId": "a1b2c3d4",
        "shopName": "Example title",
        "title": "Example title",
        "url": "https://example.com/page"
      }
    ],
    "totalResults": 12500
  },
  "found": true,
  "reason": "not_found"
}

Полный справочник по параметрам и ответу: каждое поле, тип и пример для этого эндпоинта.

Справочник

Один запрос, один формат ответа.

Каждое поле, которое вы отправляете, и каждое поле, которое получаете, с реальным примером.

Проверено 2026-10-23 · доступность и задержка измерены за 30d

Тело запроса

JSON, отправляется на этот эндпоинт.

  • querystring

    cover letter template

    Search keywords, e.g. "cover letter template". For an Etsy /market page, pass its words: https://www.etsy.com/market/habit_tracker_2027 is the query "habit tracker 2027".

  • maxPricenumber

    Optional maximum listing price, in USD.

  • minPricenumber

    Optional minimum listing price, in USD.

  • pageinteger

    1-based results page. Each page is billed as one request.

  • requireFieldsarray

    Optional; omit it and routing is unchanged, with the cheapest source serving. Name the output fields this request must be able to return, for example `rating`, and it is served only by a source that returns every one of them. Fields you do not name are still returned whenever the serving source has them. This can raise your price: when the cheapest source cannot return a named field, a dearer source serves, and you are quoted and charged its price. Naming a combination that no single source returns together is refused as invalid input, with no charge.

  • sortenum

    Result order: relevance (Etsy's own order, the default), newest, price_low, or price_high.

Вы отправляете. Небольшое тело JSON. Показанные значения это примеры, замените их своими.

Ответ

JSON, по одному примеру значения на поле.

each itemdata.items[]

Matching Etsy listing cards for the requested page, ads included where Etsy shows them. Populated whenever the provider has data for the entity.

  • currencystring

    Price currency code, e.g. "USD", or null when no price is shown. Populated whenever the provider has data for the entity.

  • imagestring

    Primary listing image URL, or null when the listing has none. Populated whenever the provider has data for the entity.

  • isSponsoredboolean

    True when the listing is an ad Etsy placed in the results, or null when not reported.

  • listingIdstring

    Etsy listing id, the number in the listing URL (https://www.etsy.com/listing/<id>/...); pass it to the Etsy Product SKU. Populated whenever the provider has data for the entity.

  • originalPricenumber

    Price before the current sale, or null when the listing is not on sale.

  • pricenumber

    Current price in the listing currency, or null when not shown. Populated whenever the provider has data for the entity.

  • ratingnumberможет потребовать

    Average rating of the listing, 0-5, or null when unrated or the serving source does not report it.

  • reviewsCountintegerможет потребовать

    Number of reviews of the listing, or null when not reported.

  • shopIdstring

    Etsy's numeric shop id, or null when not reported.

  • shopNamestring

    Name of the shop selling the listing; pass it to the Etsy Shop or Etsy Shop Listings SKU. Null when not reported. Populated whenever the provider has data for the entity.

  • titlestring

    Listing title. Populated whenever the provider has data for the entity.

  • urlstring

    Etsy listing page URL with tracking query parameters removed. Populated whenever the provider has data for the entity.

datadata

Search result wrapper, or null when nothing matched.

  • totalResultsintegerможет потребовать

    Total listings Etsy reports for the search, or null when the serving source does not report it.

top level
  • foundboolean

    True when the search returned at least one listing.

  • reason"not_found"

    Present only when `found` is false, and says why there is no result. `not_found`: the source states the target does not exist, or returned nothing for it. A `found: false` answer is a successful call, not an error, and `costUsd` is what it actually cost.

Вы получаете. Именованные типизированные поля в одном формате, какой бы источник ни ответил.

Вопросы и ответы

Об API Etsy Поиск

AnyAPI Etsy Поиск API возвращает данные Etsy в виде нормализованного JSON одним вызовом POST к /v1/run/etsy.search. Search Etsy listings by keyword, the same results an Etsy search or /market page shows, with optional sort, price range and page, and get title, price, original price, image, shop, rating and ad flag for each listing in one normalized response. AnyAPI направляет каждый запрос по источникам (их 2) и автоматически переключается, если один из них отказывает. Это стоит от 0,85 USD за 1000 запросов, в долларах США, без подписки и без ежемесячного минимума. За последние 30 дней 100,0% вызовов Etsy Поиск через AnyAPI завершились успешно, медианное время ответа 2,9 с, измерено вызовов: 1.

Это стоит от 0,85 USD за 1000 запросов, в долларах США, без подписки и без ежемесячного минимума. Вы пополняете один кошелёк в долларах США, и каждый вызов списывает с него. По некоторым неудавшимся запросам, оплаченным из кошелька, возникают расходы на обработку; мы передаём их по себестоимости, без наценки, а сумма списания указана в ответе с ошибкой.

Search Etsy listings by keyword, the same results an Etsy search or /market page shows, with optional sort, price range and page, and get title, price, original price, image, shop, rating and ad flag for each listing in one normalized response. Ответ это нормализованный JSON с тем же конвертом, что возвращает каждый эндпоинт AnyAPI, поэтому разбор второго эндпоинта это смена URL и ничего больше.

За последние 30 дней 100,0% вызовов Etsy Поиск через AnyAPI завершились успешно, медианное время ответа 2,9 с, измерено вызовов: 1. Это собственные измерения AnyAPI по трафику через шлюз, пересчитываемые непрерывно, а не опубликованный целевой уровень обслуживания.

Да. Новый аккаунт AnyAPI стартует с бесплатным балансом 0,10 USD, карта не нужна. Этого хватает на 117 вызовов Etsy Поиск по 0,00085 USD за каждый.

AnyAPI в том же запросе обращается к следующему из источников (их 2), начиная с самого дешёвого, поэтому отказ одного источника не ломает ваш вызов.

Отправьте запрос POST на https://api.getanyapi.com/v1/run/etsy.search с вашим ключом AnyAPI в заголовке "Authorization: Bearer" и входными данными в теле JSON. Один и тот же ключ и один и тот же кошелёк работают на каждом эндпоинте AnyAPI.

Нет. Вы пополняете один предоплаченный баланс AnyAPI в долларах США, и каждый запрос списывает с него. Ежемесячного тарифа и минимума нет, а один и тот же баланс оплачивает каждый эндпоинт AnyAPI.

Да. Установите @getanyapi/sdk из npm для TypeScript или getanyapi из pip для Python. Оба вызывают любой эндпоинт AnyAPI с одним и тем же ключом, а ещё подойдёт любой HTTP-клиент.

Да. Агент может подключиться к MCP-серверу AnyAPI по адресу https://api.getanyapi.com/mcp или создать собственный бесплатный пробный ключ одним POST без аутентификации на https://api.getanyapi.com/agent/signup и вызывать этот эндпоинт по HTTP.