# Scraper Etsy (/fr/developer-guides/common-sites/etsy)

<!-- agent-signals: reading_time_min: 2 · est_tokens: 1057 · updated: 2026-07-30 -->
Related: [Scraper Amazon](/fr/developer-guides/common-sites/amazon.md), [Scraper GitHub](/fr/developer-guides/common-sites/github.md), [Scraper Wikipédia](/fr/developer-guides/common-sites/wikipedia.md)

<Info>
  Etsy est une place de marché mondiale pour des articles uniques et créatifs. Ce guide vous explique comment extraire des fiches produits, des informations de boutique, des avis et des articles tendance avec Firecrawl.
</Info>

<div id="setup">
  ## Configuration [#configuration]
</div>

```bash
npm install firecrawl zod
```

<div id="overview">
  ## Vue d’ensemble [#vue-densemble]
</div>

Lors du scraping d’Etsy, vous voudrez généralement :

* Extraire les fiches produit et leurs variations
* Obtenir les informations sur la boutique et ses notes
* Surveiller les articles et catégories tendance
* Suivre la tarification et les données de vente
* Extraire les avis clients

<div id="scrape-with-json-mode">
  ## Extraction avec le mode JSON [#extraction-avec-le-mode-json]
</div>

Extrayez des données structurées de type fiche produit à l’aide de schémas Zod.

```typescript
import { Firecrawl } from 'firecrawl';
import { z } from 'zod';

// Définir le schéma Zod
const ListingSchema = z.object({
    title: z.string(),
    price: z.string(),
    shopName: z.string(),
    rating: z.number()
});

const firecrawl = new Firecrawl({ apiKey: process.env.FIRECRAWL_API_KEY });

const result = await firecrawl.scrape('https://www.etsy.com/listing/1844315896/handmade-925-sterling-silver-jewelry-set', {
    formats: [{
        type: 'json',
        schema: z.toJSONSchema(ListingSchema)
    }],
});

// Analyser et valider avec Zod
const jsonData = typeof result.json === 'string' ? JSON.parse(result.json) : result.json;
const validated = ListingSchema.parse(jsonData);

console.log('✅ Validated listing data:');
console.log(validated);
```

<div id="search">
  ## Recherche [#recherche]
</div>

Trouvez des produits sur la marketplace Etsy.

```typescript
import { Firecrawl } from 'firecrawl';

const firecrawl = new Firecrawl({ apiKey: process.env.FIRECRAWL_API_KEY });

const searchResult = await firecrawl.search('handmade jewelry site:etsy.com', {
    limit: 10,
    sources: [{ type: 'web' }], // { type: 'news' }, { type: 'images' }
    scrapeOptions: {
        formats: ['markdown']
    }
});

console.log(searchResult);
```

<div id="scrape">
  ## Scrape [#scrape]
</div>

Scraper une seule fiche produit Etsy.

```typescript
import { Firecrawl } from 'firecrawl';

const firecrawl = new Firecrawl({ apiKey: process.env.FIRECRAWL_API_KEY });

const result = await firecrawl.scrape('https://www.etsy.com/listing/1844315896/handmade-925-sterling-silver-jewelry-set', {
    formats: ['markdown'], // par ex. html, links, etc.
    onlyMainContent: true
});

console.log(result);
```

<div id="map">
  ## Map [#map]
</div>

Découvrez toutes les URL disponibles dans une boutique ou une catégorie Etsy. Remarque : Map renvoie uniquement les URL, sans leur contenu.

```typescript
import { Firecrawl } from 'firecrawl';

const firecrawl = new Firecrawl({ apiKey: process.env.FIRECRAWL_API_KEY });

const mapResult = await firecrawl.map('https://www.etsy.com/shop/YourShopName');

console.log(mapResult.links);
// Renvoie un tableau d'URL sans contenu
```

<div id="crawl">
  ## Crawl [#crawl]
</div>

Explorer plusieurs pages d'une boutique ou d'une catégorie Etsy.

```typescript
import { Firecrawl } from 'firecrawl';

const firecrawl = new Firecrawl({ apiKey: process.env.FIRECRAWL_API_KEY });

const crawlResult = await firecrawl.crawl('https://www.etsy.com/c/jewelry', {
    limit: 10,
    scrapeOptions: {
        formats: ['markdown']
    }
});

console.log(crawlResult.data);
```

<div id="batch-scrape">
  ## Scraping par lot [#scraping-par-lot]
</div>

Extraire plusieurs URL de fiches produit Etsy simultanément.

```typescript
import { Firecrawl } from 'firecrawl';

const firecrawl = new Firecrawl({ apiKey: process.env.FIRECRAWL_API_KEY });

// Attendre la fin
const job = await firecrawl.batchScrape([
    'https://www.etsy.com/listing/1844315896/handmade-925-sterling-silver-jewelry-set',
    'https://www.etsy.com/market/handmade_jewelry',
    'https://www.etsy.com/market/jewelry_handmade'],
    {
        options: {
            formats: ['markdown']
        },
        pollInterval: 2,
        timeout: 120
    }
);


console.log(job.status, job.completed, job.total);

console.log(job);
```
