Etsy Listings Scraper — Bulk Search, Ads & Organic Rank
Pricing
from $4.00 / 1,000 results
Etsy Listings Scraper — Bulk Search, Ads & Organic Rank
Scrape Etsy search results for up to 50 keywords and 30 pages each. Export 36 fields per listing, including prices, shop metrics, sponsored placement, organic rank, badges, color variants, video, and localized market data.
Pricing
from $4.00 / 1,000 results
Rating
5.0
(1)
Developer
Astrava Labs
Maintained by CommunityActor stats
0
Bookmarked
7
Total users
5
Monthly active users
2 days ago
Last modified
Categories
Share
Scrape Etsy search results in bulk and compare organic placement with sponsored slots. Each saved listing contains 36 search-result fields covering pricing, shop metrics, badges, product type, color variants, and video.
Accepts up to 50 keywords per run, processes up to 16 concurrently, and fetches up to two pages per keyword at once (32 page requests globally). The first page often yields around 10–15 listings; later full pages yield roughly 64.
No proxy setup required. No captcha-solving service needed. Proxies are bundled — just provide keywords and run.
Simple pay-per-result pricing (see the price above). Platform usage and proxies are included, with no separate compute or proxy charge.
Why use this actor?
- Bulk keyword research: up to 50 keywords and 30 pages per keyword in one run.
- Organic versus paid placement:
rank,organic_rank,is_ad, andad_slotexpose what Etsy surfaced organically and as sponsored results. - Localized research: compare pricing and result composition across 32 markets.
- Search-result efficiency: collect shop, pricing, badge, variant, and media signals without visiting every product page.
- Predictable output cost:
maxTotalResultsplaces one exact cap across the whole run, even when many keywords execute concurrently.
This actor is intentionally focused on search-result intelligence. It does not visit every listing page for descriptions, tags, materials, complete image galleries, or reviews. Use the companion Etsy Product Scraper when you need full product-page enrichment.
Quick start
{"keywords": ["personalized necklace", "custom mug", "wall art print"],"maxPages": 5,"maxTotalResults": 1000,"country": "US"}
Three keywords and up to roughly 800 listings total. The run-wide cap guarantees that no more than 1,000 listing rows will be saved. Actual yield and runtime vary with Etsy availability and proxy response times.
Etsy listing data — 36 fields per result
Search context — the keyword that surfaced the listing, its position in results (rank), its organic rank excluding ads (organic_rank), and the page it appeared on.
Listing — listing_id, title, direct url, and image_url.
Shop — shop_name, shop_id, shop_url, star rating (shop_rating), total review count (shop_review_count), and years on Etsy (shop_age_years).
Pricing — price, currency, original_price, discount_pct, is_on_sale, is_free_shipping.
Ad placement — is_ad, ad_slot (position of the sponsored listing on the page).
Badges — is_bestseller, is_popular_now, is_etsys_pick, is_star_seller, is_limited_stock.
Product type — is_digital, has_personalization.
Media — has_video, video_url, color_variant_count, color_variants (list of color names shown in swatches).
Logistics — ships_from, when Etsy displays a seller-origin label on the
localized search card. This signal is sparse and market-dependent; null means
Etsy did not expose the origin in search results, not that the listing ships
from the selected country.
Meta — total_result_count (Etsy's total for the keyword), scraped_at.
Search filters & input options
| Field | Default | Description |
|---|---|---|
keywords | — | 1–50 search terms, batched in one run |
maxPages | 5 | Pages to scrape per keyword (1–30). The first page is smaller; later pages yield ~64 listings each. |
country | US | 32 countries — sets locale, language, and currency |
sortOrder | Most relevant | Most relevant, Price low→high, Price high→low, Top reviews, Newest |
minPrice | — | Minimum price in the selected country's currency |
maxPrice | — | Maximum price in the selected country's currency |
maxResults | — | Cap listings per keyword. Leave empty for no cap. |
maxTotalResults | — | Exact cap on saved listings across the entire run. Leave empty for no run-wide cap. |
Filters: onSale, freeShipping, starSeller, customizable, etsyPick, listingType (all / digital / physical), excludeSponsored to drop ads from output.
Etsy scraping use cases
Niche research. Run 20 keyword variants in one go, sort by organic_rank, see what Etsy's algorithm pushes organically versus what sellers are paying to promote.
{"keywords": ["mushroom lamp", "fungi lamp", "cottagecore lamp", "morel lamp"],"maxPages": 10,"excludeSponsored": true}
Competitor ad mapping. Pull a keyword and filter results where is_ad: true
— you get the sponsored listings Etsy surfaced in the captured result pages,
including their slot positions at scrape time.
{"keywords": ["personalized mug"],"maxPages": 5,"sortOrder": "most_relevant"}
Pricing teardowns. Combine minPrice / maxPrice with sortOrder: price_desc to slice a niche by price tier and see how sellers position across the curve.
{"keywords": ["linen dress", "boho dress"],"maxPages": 10,"minPrice": 50,"sortOrder": "price_desc"}
Localized market research. The same keyword often surfaces an entirely different competitive landscape by country. Run the same terms across US, GB, and DE to compare.
{"keywords": ["handmade candle", "soy candle"],"maxPages": 10,"country": "GB"}
Star Seller landscape. Filter to top-rated shops only and sort by review count to benchmark the most established players in a niche.
{"keywords": ["enamel pin"],"maxPages": 15,"starSeller": true,"sortOrder": "highest_reviews"}
Output
Listings land in the default dataset (one row per listing, nothing else) — export as JSON, CSV, Excel, or JSONL from the Apify console or via API.
Per-keyword status and run totals land in the key-value store under
RUN_REPORT: for each keyword, pages fetched, listing count, whether it
completed, and any run-wide stop reason. The summary records whether
maxTotalResults or the Apify spending limit stopped the run.
Sample row
A real listing from a mug keyword run — overall rank 3, organic rank 2, 50% off, 21,500 reviews, and 8 color variants.
{"keyword": "mug","page": 1,"rank": 3,"organic_rank": 2,"listing_id": "4384679177","title": "Custom Photo Collage Mug, Your Photo, Your Text, Personalized Photo Mug, Custom Coffee Cup Gift for Family and Friend, Memory Keepsake","url": "https://www.etsy.com/listing/4384679177/custom-photo-collage-mug-your-photo-your","image_url": "https://i.etsystatic.com/30637927/r/il/715b79/8042175906/il_1588xN.8042175906_ijkp.jpg","shop_name": "ArtsifOfficial","shop_id": 30637927,"shop_url": "https://www.etsy.com/shop/ArtsifOfficial","shop_rating": 4.9,"shop_review_count": 21500,"shop_age_years": 4.0,"price": 6.99,"currency": "USD","original_price": 13.99,"discount_pct": 50,"is_on_sale": true,"is_free_shipping": false,"is_ad": false,"ad_slot": null,"is_bestseller": false,"is_popular_now": true,"is_etsys_pick": false,"is_star_seller": false,"is_limited_stock": false,"is_digital": false,"has_personalization": true,"has_video": true,"video_url": "https://v.etsystatic.com/video/upload/ac_none,du_15,q_auto:good/tfadzvtf7adbe63cipsx.mp4","color_variant_count": 8,"color_variants": ["Green", "Red", "Dark blue", "Purple", "Black", "Yellow", "Light blue", "Pink"],"ships_from": null,"total_result_count": 3061962,"scraped_at": "2026-06-29T21:37:43.489448+00:00"}
Speed & scale
Measured locally on 2026-07-17 through SmartProxy, with one sticky proxy session per keyword. Times include proxy warmup and retries:
| Run shape | Time | Listings |
|---|---|---|
| 1 keyword, 1 page | 4.7s | 10 |
| 1 keyword, 5 pages | 9.4s | 258 |
| 1 keyword, 10 pages | 12.7s | 580 |
| 3 keywords parallel, 3 pages each | 7.9s | 406 |
| 5 keywords parallel, 5 pages each | 9.4s | 1,319 |
| 10 keywords parallel, 5 pages each | 18.0s | 2,646 |
| 50 keywords, up to 30 pages each (max scale) | 5m 29.2s | 63,840 |
Why your row count may be below maxPages × 64. The first page is typically smaller than later pages, and Etsy's index caps most keyword searches at around 20–22 pages of results (~1,200–1,400 listings), regardless of how many pages you request. The scraper stops cleanly when Etsy's pagination is exhausted — you won't be charged for empty pages. For broad or trending keywords, maxPages: 30 is the right ceiling; for niche terms, 10–15 is usually enough.
Controlling the total result count and cost
Use maxTotalResults when the total dataset size matters more than how rows are
distributed across keywords. The persistence layer applies it to the combined
output from all concurrent workers, so the final dataset never exceeds the cap.
At the current $4 per 1,000 listings price, the listing charge ceiling is:
maxTotalResults × $0.004
For example, maxTotalResults: 5000 limits listing charges to $20. The actor may
fetch some concurrent pages that are not saved after the cap is reached, but
those discarded rows are not charged as dataset results.
maxResults and maxTotalResults can be combined: the first caps each keyword,
while the second caps the complete run.
Large runs and Apify spending limits. A pay-per-result run also stops cleanly
when its Apify maximum charge is reached, so an Actor run can finish successfully
with partial results. For an uncapped full scrape, leave maxTotalResults empty,
set a sufficient maximum charge, and verify that every entry in
RUN_REPORT.keywords has completed: true.
maxPages caps at 30.
FAQ
Is it legal to scrape Etsy? This scraper only collects data from public Etsy search-results pages — no login, no private or personal buyer data. Scraping publicly available information is generally permitted, but you are responsible for how you use the data; review Etsy's Terms of Service and any regulations that apply to you.
Do I need proxies or a captcha solver? No. Proxies are bundled and rotated automatically, and there's no captcha-solving service to configure. Provide keywords and run.
Is there a free Etsy scraper? New Apify accounts include monthly free platform credits, so you can trial this Etsy scraper using those credits. After that, see the current pay-per-result price shown above; platform usage and proxies are included.
Can I export Etsy listings to CSV or Excel? Yes. Every run writes to a dataset you can export as CSV, Excel, JSON, or JSONL from the Apify console or via the API.
How many listings can I scrape per keyword? Etsy caps most keyword searches at ~20–22 pages (roughly 1,200–1,400 listings). The scraper stops cleanly when pagination is exhausted, so you're never charged for empty pages.
Can I scrape a single Etsy product page, a whole shop, or buyer reviews? Yes — use the companion actors: Etsy Product Scraper for full product-page detail by URL, Etsy Shop Catalog Scraper for an entire shop's catalog, Etsy Reviews Scraper for buyer reviews, and the Etsy Keyword Research Tool for keyword ideas.
⚠️ Unofficial. This actor is not affiliated with, endorsed by, or sponsored by Etsy, Inc. "Etsy" is a trademark of Etsy, Inc., used here for descriptive purposes only.