API Etsy

Etsy Recherche 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
Disponibilité
100,00%
30d · 1 appel
Requêtes
1
30d
Réponse
2,9s
médiane · 30d

Tarifs et fournisseurs

Tarifs de l’API Etsy Recherche : une API, 2 fournisseurs interchangeables

Le fournisseur le moins cher répond en premier. S’il échoue, le suivant prend le relais dans le même appel.

Vous payez
8,50 $US
0,85 $US/1k req, seulement pour ce que vous utilisez. Aucun forfait mensuel.
Vos 117 premières requêtes sont gratuites avec le solde de départ de 0,10 $US.

Essayer

Obtenez Etsy Recherche en une requête

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.
Ouvrir dans
Obtenir une clé gratuite
Exemple de réponse
Les exécutions gratuites ne renvoient que les 3 premiers résultats. Alimentez une clé pour obtenir la réponse complète.
{
  "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"
}

Référence complète des paramètres et de la réponse : chaque champ, type et exemple de cet endpoint.

Référence

Une requête, une seule forme de réponse.

Chaque champ que vous envoyez et chaque champ que vous recevez, avec un vrai exemple.

Dernière vérification : 2026-10-23 · disponibilité et latence mesurées sur 30d

Corps de la requête

JSON, envoyé à cet endpoint.

  • 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.

Vous envoyez. Un petit corps JSON. Les valeurs affichées sont des exemples à remplacer par les vôtres.

Réponse

JSON, une valeur d’exemple par champ.

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.

  • ratingnumberpeut exiger

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

  • reviewsCountintegerpeut exiger

    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.

  • totalResultsintegerpeut exiger

    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.

Vous recevez. Des champs nommés et typés, dans la même forme quelle que soit la source qui répond.

FAQ

À propos de l’API Etsy Recherche

L’API Etsy Recherche d’AnyAPI renvoie des données Etsy en JSON normalisé à partir d’un appel 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 route chaque requête sur 2 sources et bascule automatiquement quand l’une échoue. Elle coûte à partir de 0,85 $US pour 1 000 requêtes, en dollars US, sans abonnement et sans minimum mensuel. Ces 30 derniers jours, 100,0% des appels Etsy Recherche passés par AnyAPI ont réussi, avec un temps de réponse médian de 2,9 secondes, sur 1 appels mesurés.

Elle coûte à partir de 0,85 $US pour 1 000 requêtes, en dollars US, sans abonnement et sans minimum mensuel. Vous alimentez un portefeuille en USD et chaque appel le débite. Certaines requêtes échouées financées par le portefeuille entraînent des frais de traitement que nous répercutons au prix coûtant, sans marge ; la réponse d’erreur indique le montant facturé.

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. La réponse est du JSON normalisé avec la même enveloppe que celle de tous les endpoints AnyAPI, donc analyser un second endpoint revient à changer l’URL et rien d’autre.

Ces 30 derniers jours, 100,0% des appels Etsy Recherche passés par AnyAPI ont réussi, avec un temps de réponse médian de 2,9 secondes, sur 1 appels mesurés. Ce sont les propres mesures d’AnyAPI du trafic passant par la passerelle, recalculées en continu, et non un objectif de niveau de service publié.

Oui. Un nouveau compte AnyAPI démarre avec 0,10 $US de solde gratuit, sans carte, ce qui couvre 117 appels Etsy Recherche à 0,00085 $US chacun.

AnyAPI interroge la suivante de ses 2 sources dans la même requête, la moins chère d’abord, donc la panne d’une source ne fait pas échouer votre appel.

Envoyez une requête POST à https://api.getanyapi.com/v1/run/etsy.search avec votre clé AnyAPI dans un en-tête « Authorization: Bearer » et l’entrée en corps JSON. La même clé et le même portefeuille fonctionnent sur tous les endpoints AnyAPI.

Non. Vous ajoutez des dollars US à un solde AnyAPI prépayé unique et chaque requête le débite. Il n’y a ni forfait mensuel ni minimum, et le même solde paie tous les endpoints AnyAPI.

Oui. Installez @getanyapi/sdk depuis npm pour TypeScript ou getanyapi depuis pip pour Python. Les deux appellent chaque endpoint AnyAPI avec la même clé, et n’importe quel client HTTP fonctionne aussi.

Oui. Un agent peut se connecter au serveur MCP d’AnyAPI à https://api.getanyapi.com/mcp, ou créer sa propre clé d’essai gratuit avec un seul POST non authentifié vers https://api.getanyapi.com/agent/signup et appeler cet endpoint en HTTP.