Etsy Price & Promotion Tracker avatar

Etsy Price & Promotion Tracker

Pricing

from $1.18 / 1,000 listing records

Go to Apify Store
Etsy Price & Promotion Tracker

Etsy Price & Promotion Tracker

Monitor public Etsy listing prices and promotions by keyword. Export displayed prices and compare saved observations to find new listings, title changes, and price or discount changes.

Pricing

from $1.18 / 1,000 listing records

Rating

0.0

(0)

Developer

Valdeir Lima

Valdeir Lima

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

Share

What does Etsy Price & Promotion Tracker do?

Track displayed Etsy prices, promotions, and listing-title changes for product keywords. This Actor reads the listing cards available in public Etsy market pages, using US English and USD prices; it does not collect a complete marketplace inventory or all results loaded later by the website.

Start with a snapshot, or repeat a saved monitor to receive new and changed observations with before-and-after values. Apify provides API access, schedules, run monitoring, exports, and integrations; residential proxy access and compute are included in the record price.

Why use Etsy Price & Promotion Tracker?

Watch publicly displayed competitor prices, inspect promotion changes, and keep a dated evidence trail for product research. Each record links back to its listing and source market page, making the observed values easy to check.

Prices are asking prices, potentially the starting price of a cheaper variant. They are not transaction prices or evidence of sales volume. Sponsored and organic cards can appear together; the Actor reports the source sponsorship signal when available. Observed card order is not verified organic search rank.

How to use Etsy Price & Promotion Tracker

  1. Enter one to five specific product keyword phrases in the Input tab.
  2. Choose Snapshot for current observations or New and changed listings to maintain a monitor.
  3. Set the record, listing, and page limits, then start the Actor.
  4. Inspect the dataset and the SUMMARY key-value record for actual coverage, warnings, and errors.
  5. To repeat the watch, save your input and configure an Apify Schedule with the same monitor name and queries. Use Apify webhooks or integrations to route results to your other tools.

The Actor does not create schedules or send alerts directly. No Etsy login or user-supplied proxy configuration is required.

Input

{
"queries": ["ceramic mug"],
"mode": "changes",
"monitorName": "ceramic-mugs",
"emitInitialSnapshot": true,
"maxResults": 100,
"maxListingsPerQuery": 100,
"maxPagesPerQuery": 5
}
FieldMeaningDefault
queriesRequired array of 1–5 product keyword phrases using English letters, numbers, spaces, underscores or hyphens—
modesnapshot or changessnapshot
maxResultsMaximum paid output records across the run, 1–2,500500
maxListingsPerQueryMaximum listings observed per query, including unchanged listings, 1–500100
maxPagesPerQueryMaximum market pages attempted per query, 1–105
monitorNameHistory name, 1–50 letters, digits, underscores or hyphens; start with a letter or digitdefault
emitInitialSnapshotDeliver paid initial records when creating a Changes baselinetrue

Limits are upper bounds, not promised record counts. Available cards and pages depend on Etsy. This version has a fixed US / USD / en-US scope; it does not offer currency conversion or alternative regional settings. See the Input tab for field validation.

Output

The default dataset contains paid listing observations and change records. This simplified example is illustrative, not an actual Etsy listing:

{
"schemaVersion": 1,
"listingId": "ILLUSTRATIVE_LISTING_ID",
"query": "ceramic mug",
"title": "Example handmade mug",
"shopName": "Example shop",
"price": 24,
"currency": "USD",
"originalPrice": 30,
"discountPercent": 20,
"onSale": true,
"priceIsFrom": null,
"isSponsored": false,
"position": 3,
"page": 1,
"eventType": "changed",
"changedFields": ["price"],
"before": {"price": 25},
"after": {"price": 24},
"observedAt": "2026-09-24T12:00:00.000Z",
"eventId": "ILLUSTRATIVE_EVENT_ID"
}

You can download the dataset in various formats such as JSON, HTML, CSV, or Excel. SUMMARY reports coverage, limits, and errors without an additional record charge. A fatal error, when recorded, is available under ERROR.

Data table

FieldsMeaning
listingId, url, titleListing identity, canonical link, and displayed title
shopNamePublic shop name when available
price, currencyDisplayed asking price in USD
originalPrice, discountPercent, onSalePromotion information when the source supports it
priceIsFromWhether the source identifies a starting or minimum-variant price; null when unknown
isSponsoredSponsorship indicator when established by the source; null when unknown
imageUrlListing image when available
query, sourceUrl, page, positionQuery and source context; position is card order on that page
observedAtTime this Actor observed the listing
eventTypesnapshot, initial, new, or changed
changedFields, before, afterChanged field names and their previous/current values
eventIdKey downstream consumers can use to deduplicate repeated deliveries

Unavailable source values remain null unless Changes mode preserves previously observed comparison values. A null promotion or variant flag means unknown, not false. Before and after are empty objects for records that are not changed events.

How much does it cost to track Etsy prices?

The price is $1.18 per 1,000 delivered listing records ($0.00118 each), plus a $0.00005 startup event. Apify bills startup events per GB of Actor memory, with a minimum of one event. Compute and the Actor's residential proxy access are included. The minimum maximum-charge budget is $0.01.

At the default memory allocation, 100 delivered records cost approximately $0.11805 and 1,000 cost $1.18005. A budget limits charges; it does not guarantee that many listings are available.

Snapshots charge for delivered records each time. Changes mode charges for initial, new, and changed records. Turn emitInitialSnapshot off to seed the first baseline without initial dataset records. Unchanged observations, SUMMARY, and monitor history have no extra record event charge; startup still applies when a run returns no changes.

Tips and monitor behavior

Use specific product phrases and inspect a small snapshot before scheduling a watch. The Actor collects available server-rendered market cards. Etsy may expose a limited sample, mix sponsored and organic cards, load additional listings only in the browser, repeat cards across pages, or block requests. SUMMARY makes partial coverage visible; larger limits do not guarantee deeper coverage. Cards whose visible prices or identities disagree with structured listing data are skipped and reported in SUMMARY. Verified cards remain usable; a page with no valid cards fails. Global currency, page-identity, or access failures stop pagination with a warning when earlier verified pages are available. A first-page failure adds no newly fetched records for that query; previously pending records and successful other queries can still be delivered and charged.

Changes mode tracks title, shop name, displayed price, original price, promotion status, and starting-price status. Changes in card position alone do not generate paid events. A newly encountered listing is new to this monitor, not necessarily newly published. Missing listings never become sold, retired, or disappeared events.

An explicit onSale: false clears previously known discount information. An unavailable source value does not invent a promotion ending or erase a known comparison value. Inspect the source links when a change needs confirmation.

Reuse the same monitor name and queries to continue the history. A different monitor name starts a separate baseline. History is isolated by Apify user, Actor, monitor, query, and USD scope; a lock prevents overlapping runs from writing conflicting state. Each query can retain up to 10,000 historical listings, with a 16 MB checkpoint limit. Exceeding a limit produces an error instead of silently deleting history.

Prepared records resume when a later run has enough output or charge budget. Delivery is at least once: a rare interruption between dataset delivery and checkpointing can repeat an eventId and charge for that repeated record. Consumers should deduplicate using eventId.

FAQ, limitations, and support

Does this measure sales, demand, or organic search rank? No. It observes public listing cards, asking prices, and page order. It does not verify purchases, revenue, conversion rates, or organic rank.

Does a lower price mean the same variant is cheaper? Not necessarily. Listings can advertise minimum variant prices or change their variants. Use priceIsFrom, the listing URL, and the original displayed values when comparing offers.

Why did I receive fewer records than requested? Limits are caps. Etsy controls the available cards and pagination, and a Changes run may find few or no new observations. Consult SUMMARY before drawing conclusions from absence.

Can I receive alerts? Configure Apify schedules, webhooks, or integrations separately. This Actor does not send messages or create recurring tasks by itself.

This is an independent tool, not affiliated with Etsy or the shops returned. Use public data in accordance with applicable terms and laws. Report reproducible issues or request additional coverage and custom workflows through this Actor's Issues tab.