🔥 Etsy Listings Scraper – Live Carts & Ads avatar

🔥 Etsy Listings Scraper – Live Carts & Ads

Pricing

from $8.00 / 1,000 etsy listings

Go to Apify Store
🔥 Etsy Listings Scraper – Live Carts & Ads

🔥 Etsy Listings Scraper – Live Carts & Ads

Scrape Etsy listings by keyword with data no other scraper exposes — live cart counts, "X people bought in 24h" signals, Etsy Ads slot positions, bestseller and star-seller badges, seller velocity. Up to 1,080 per keyword, any country. No proxy or captcha needed.

Pricing

from $8.00 / 1,000 etsy listings

Rating

0.0

(0)

Developer

Yakugusa Yumitori

Yakugusa Yumitori

Maintained by Community

Actor stats

13

Bookmarked

1.2K

Total users

317

Monthly active users

0.75 hours

Issues response

11 days ago

Last modified

Share

Etsy Listings Scraper

Scrape Etsy listings by keyword and get the data the official seller dashboard quietly hides — live in-cart counts, "20+ bought in the last 24h" purchase signals, paid-ad slot positions, discount depth, made-to-order & scarcity flags, bestseller and star-seller badges, and true seller velocity.

Other Etsy scrapers force you into one search at a time and return shallow snippets. This one acts as your automated Etsy cart counter and market-research engine — batching up to 50 keywords in parallel, deduping across them, and extracting over 40 deep fields per listing in a single run. No proxy, no captcha, no setup.

Apify AI assistant ranks Etsy Listings Scraper #1

🥇 Ranked #1 by Apify AI

"The most feature-rich option… data no other scraper provides."

  • Etsy Cart Count Checker: real-time demand signals
  • 24h Velocity: exact purchase counts (e.g. 20+ bought)
  • Zero Limits: up to 1,080 listings per keyword

⚡ Quick Start

Three keywords, ~360 listings each, sorted by current cart pressure, deduped across runs — finishes in ~30 seconds.

{
"queries": ["linen apron", "ceramic mug", "leather journal"],
"maxPages": 10,
"sort": "carts",
"country": "US"
}

💡 Ready-to-Run Presets

🎃 Fall & Halloween Breakouts — Seasonal Velocity

September marks the annual surge in autumn apparel, seasonal home decor, and party favors. Run an automated Etsy cart-count checker to surface high-momentum items sitting in dozens of buyer carts with verified 24-hour purchase velocity.

{
"queries": ["halloween sweatshirt", "ghost mug", "fall porch decor"],
"sort": "carts",
"includeInDemand": true,
"maxPages": 5,
"country": "US"
}

📁 Q4 Planners & Instant POD — Zero Physical Clutter

End-of-year budget trackers, dated digital planners, and Halloween printable games. Zero physical shipping, zero inventory delays — pure digital-margin analysis.

{
"queries": ["digital planner", "budget spreadsheet", "halloween printable games"],
"digitalOnly": true,
"sort": "score",
"maxPages": 5
}

🎯 Early Holiday Ad-Slot Bidding — Ad-Slot Transparency

Sellers aggressively ramp sponsored bidding heading into Q4 to build sales history. Capture exact paid slot indices and isolate sponsored competitors from organic winners.

{
"queries": ["custom family ornament", "personalized leather wallet"],
"includeAds": true,
"sort": "score",
"maxPages": 3
}

🏷️ Thanksgiving Table Undercutters — Margin Sourcing

Identify artisan sellers discounting customized entertaining goods (wooden place cards, runners, ceramic tableware) to gauge wholesale floors and margin structures.

{
"queries": ["wooden place cards", "linen table runner"],
"sort": "price-asc",
"maxPrice": 30,
"handmadeOnly": true
}

🎯 Strategic Playbooks

🔍 Niche Discovery & Demand Validation

Sweep up to 20 long-tail keywords in parallel. Use it as an automated Etsy cart counter — sort by buyer interest rather than static lifetime reviews to separate real buyers from seasonal traffic lulls.

{ "sort": "carts", "handmadeOnly": true, "includeAds": false }

🎯 Competitor Ad-Slot Mapping

Extract raw adSlot position integers to map who is buying top visibility across your target search phrases.

{ "includeAds": true, "maxPages": 5, "country": "US" }

📊 Pricing Curve & Elasticity

Sort high-to-low and apply hard min/max filters to chart price clustering, average order values, and conversion ceilings across competing categories.

{ "sort": "price-desc", "minPrice": 25, "maxPrice": 150 }

🌍 Cross-Border Arbitrage

Run identical queries against localized country codes to pinpoint gaps where high-demand domestic products have zero local competition overseas.

{ "country": "GB", "maxPages": 10 }

🔘 Console Toggles & Output Mapping

Match your Console toggle switches directly to the JSON parameters and dataset columns they control:

Console ToggleJSON ParameterWhat It Controls / Populates
On-sale listings only"onSaleOnly": trueFilters to items where onSale: true; populates discountPct and discountedPrice.
Free-shipping listings only"freeShippingOnly": trueIsolates rows with isFreeShipping: true to compare delivered-margin floors.
Digital downloads only"digitalOnly": trueFilters for isDigital: true, removing physical-fulfillment inventory.
Handmade only"handmadeOnly": trueFilters for isHandmade: true, separating artisan shops from resold goods.
Include sponsored (ad) listings"includeAds": trueCaptures runningAds: true and the paid adSlot position. Turn off for purely organic results.
Include "In demand" — bought in last 24h (slower)"includeInDemand": trueAdds the boughtLast24h field (e.g. 20+ bought). Runs a per-listing lookup, so it's slower — off by default.
Dedupe across queries"dedupeAcrossQueries": trueDefault ON. When multiple keywords match the same listing, prevents duplicate rows.

📦 What You Get On Every Listing (40+ Fields)

CategoryExtracted Fields
🛒 Real-Time ConversioninCartCount (live cart count), boughtLast24h (recent buyers, opt-in), lastSaleDate, isScarce, quantity
🎯 Paid Placement IntelrunningAds, adSlot (exact sponsored position), isBestseller, isStarSeller, isTopRated
💰 Pricing & Discountsprice, discountedPrice, discountPct, onSale, isShopWideSale, currencyCode, isFreeShipping
🏪 Shop FootprintshopId, shopName, shopUrl, shopRating, shopRatingCount, shopSales, shopSince, sellerLocation
📐 Fulfillment & SpecsisHandmade, isDigital, isCustomizable, isPersonalizable, isMadeToOrder, photoCount, minProcessingDays, maxProcessingDays
🔍 Search TrackingsourceQuery — the keyword and pagination cycle that surfaced the record

⚙️ Configuration

ParameterDefaultDescription & Boundaries
queriesrequiredList of 1–50 keywords batched together in one run
maxPages3Pages per keyword (1–30, ~36 listings/page, up to 1,080 rows)
sortscorescore (relevance) · carts · lastsale · created · price-asc · price-desc
countryUS22 destination markets: US, GB, DE, FR, JP, AU, CA, +15 others
includeInDemandfalseAdds boughtLast24h (per-listing lookup — slower)
dedupeAcrossQueriestrueDeduplicate items found across overlapping keyword terms

📊 Dataset Views & Exports

Results flow directly into the default dataset. Export anytime via JSON, CSV, Excel, or JSONL.

ViewWhat's In It
📋 OverviewThumbnail, title, shop, price, live cart count, 24h sales, badges
🏬 Shop IntelShop age, lifetime sales count, review ratings, seller origin country
🏷️ Pricing & AdsPrice, discount %, sitewide-sale flag, ad-slot index, cart demand

A full execution summary (totals, duration, per-keyword counts, dedupe stats) lands automatically in the Key-Value store under SUMMARY.


🔬 Sample Record

A live production row from a necklace run showing high cart pressure and 24-hour buyer velocity:

{
"listingId": 1112702820,
"title": "Personalized Name Necklace, Custom 18K Gold Plated Name Necklace, Minimalist Name Necklace, Christmas Gift, Mother's Day Gift, Gift for Her",
"image": "https://i.etsystatic.com/32477306/r/il/913cf0/8402413868/il_fullxfull.8402413868_s4a9.jpg",
"shopId": 32477306,
"shopName": "MuwatiUK",
"shopUrl": "https://www.etsy.com/shop/MuwatiUK",
"listingUrl": "https://www.etsy.com/listing/1112702820/personalized-name-necklace-custom-18k",
"price": 30.81,
"discountedPrice": 13.86,
"discountPct": 55,
"currencyCode": "USD",
"onSale": true,
"inCartCount": 1828,
"shopRating": 4.73,
"shopRatingCount": 33370,
"shopSales": 204132,
"shopSince": "Oct 22, 2021",
"sellerLocation": "Grimsby, United Kingdom",
"isBestseller": true,
"isStarSeller": true,
"isTopRated": false,
"isShopWideSale": true,
"isScarce": false,
"isMadeToOrder": true,
"isDigital": false,
"isHandmade": true,
"isCustomizable": false,
"isPersonalizable": true,
"isFreeShipping": false,
"quantity": 5736,
"minProcessingDays": 6,
"maxProcessingDays": 8,
"photoCount": 20,
"lastSaleDate": "Sep 20, 2026",
"createDate": "Nov 23, 2021",
"location": null,
"runningAds": false,
"adSlot": null,
"sourceQuery": "necklace",
"boughtLast24h": 20
}

⏱️ Execution Benchmark & Pagination Rules

Job ComplexityExecution TimeExpected Output
1 keyword, 1 page1–2s~36 listings
1 keyword, 10 pages6–10s~360 listings
3 keywords in parallel, 2 pages each~5s~200 listings (deduped)
With includeInDemand: true+0.5–1s / listingAppends boughtLast24h counts
50 keywords, 30 pages each (max scale)~10–15 minComplete niche footprint

ℹ️ Why listings may total below maxPages × 36: popular categories return overlapping items across pages. A 30-page sweep that mathematically totals 1,080 listings typically lands at 400–600 unique rows after deduplication. Set "dedupeAcrossQueries": false to keep raw duplicate hits.

⚠️ Hard boundaries: maxPages caps at 30. Deep pages (15+) may stop early if pagination runs out of matching inventory.


❓ Frequently Asked Questions

Why am I getting very few or zero results?

If you paste full listing titles or long sentences into queries, search returns tiny or empty results — Etsy's search doesn't match long, wordy strings. Use concise 2–3 word keywords shoppers actually type (e.g. "leather journal", "ghost mug") instead of a whole product title.

Why was my run aborted around $1.00 — did I lose my data?

Nothing crashed, and no data was lost. This happens when an Apify spending limit kicks in — your account's spending cap or a per-run max-cost setting. When that ceiling is hit, Apify stops the run cleanly and charges only for the results already collected.

Your results are safe: items are written to the dataset the moment they're scraped, so everything gathered before the cutoff is saved and ready to export. To run larger sweeps without interruption, raise or remove the spending limit in your Apify Console settings.

How does this work as an Etsy cart-count checker?

Instead of clicking listings one-by-one, this actor acts as an automated Etsy cart counter across thousands of listings at once — systematically reading active buyer cart pressure (inCartCount) across entire niches in seconds.

What does "Include 'In demand' — bought in last 24h (slower)" do?

Turning on includeInDemand adds the boughtLast24h field — Etsy's own "X people bought this in the last 24 hours" signal (e.g. 20) for listings that have it. Because it pulls this per listing, runs take a little longer and cost slightly more, so it's off by default. Listings without the signal simply return empty for that field.

Do I need my own proxies or a captcha solver?

No. Everything needed to run is handled for you — no proxy subscription, no captcha service, no setup. Just enter your keywords and run.

How does multi-keyword deduplication work?

With dedupeAcrossQueries: true (the default), a listing that shows up under several keywords — say both "custom name necklace" and "gold plated necklace" — is kept only once, while retaining its ranking data and the keyword it was first discovered under.


⚠️ Unofficial notice: This Actor is not affiliated with, endorsed by, or sponsored by Etsy, Inc. "Etsy" is a registered trademark of Etsy, Inc., referenced strictly for descriptive identification.