Etsy Product Search Scraper
Pricing
from $2.00 / 1,000 results
Go to Apify Store

Etsy Product Search Scraper
Run keyword searches on Etsy and collect every result card across paginated pages.
Pricing
from $2.00 / 1,000 results
Rating
0.0
(0)
Developer
xtractoo
Maintained by CommunityActor stats
0
Bookmarked
1
Total users
0
Monthly active users
2 days ago
Last modified
Categories
Share
Etsy Search Scraper
Search any keyword on Etsy and export every result card — title, price, shop name, image, and more — across as many pages as you need.
Why use this actor
- No Etsy account or login required — works on fully public search results.
- Multi-keyword input with configurable page depth per query.
- Rich card payload including listing ID, title, price, currency, shop name, image, sponsored flag, free-shipping flag, and bestseller badge.
- Handles Etsy's access controls automatically so you get consistent results on every run.
- Stable JSON output ready to load into any database, spreadsheet, or data pipeline.
- Automatic retries ensure complete results across paginated queries.
How it works
- You provide one or more search keywords and set how many pages to collect per keyword.
- The actor fetches each search results page and parses every listing card on the page.
- All visible card fields — including seller, badges, and flags — are extracted.
- Results stream into your Apify dataset as they are collected, page by page.
- When all pages are done you can download the full dataset as JSON, CSV, or Excel.
You don't need to manage any browsers or scrapers.
Input
{"queries": ["ceramic mug", "handmade candle"],"maxPagesPerQuery": 3,"maxConcurrency": 4,"maxRequestRetries": 5,"proxyConfiguration": { "useApifyProxy": true, "apifyProxyGroups": ["RESIDENTIAL"] }}
| Field | Type | Description |
|---|---|---|
queries | array | Search keywords — one string per entry. |
maxPagesPerQuery | integer | Pages to collect per keyword. Default: 3; maximum: 250. |
maxConcurrency | integer | Maximum parallel page requests. Default: 4. |
maxRequestRetries | integer | Per-request retry budget before giving up. Default: 5. |
proxyConfiguration | object | Apify Proxy or your own proxy list. RESIDENTIAL group is recommended. |
Output
One record per listing card per page:
{"query": "ceramic mug","page": 1,"position": 4,"listingId": "1027105561","title": "Handmade Ceramic Coffee Mug - Pottery Mug - Unique Coffee Cup","price": 28.00,"currency": "USD","shopName": "CeramicsByJane","image": "https://i.etsystatic.com/12345678/r/il/abc123/1234567890/il_794xN.1234567890.jpg","url": "https://www.etsy.com/listing/1027105561/handmade-ceramic-coffee-mug","scrapedAt": "2026-05-13T04:35:22Z"}
| Field | Type | Description |
|---|---|---|
query | string | The search keyword that produced this result. |
page | integer | Page number this listing appeared on. |
position | integer | Position of the listing on the page (1-indexed). |
listingId | string | Etsy listing ID. |
title | string | Full listing title. |
price | number | Listed price. |
currency | string | ISO currency code. |
shopName | string | Name of the seller's shop. |
image | string | Primary listing image URL. |
url | string | Direct link to the listing page. |
scrapedAt | string | ISO 8601 timestamp of when the record was collected. |
Other Etsy Scrapers
| Actor | Description |
|---|---|
| Etsy Search Scraper | Keyword search results across multiple pages. |
| Etsy Product Scraper | Full listing detail from individual Etsy product URLs. |
| Etsy Shop Scraper | Shop profile and complete catalog from any Etsy shop. |