eBay Seller & Market Monitor avatar

eBay Seller & Market Monitor

Pricing

from $2.00 / 1,000 results

Go to Apify Store
eBay Seller & Market Monitor

eBay Seller & Market Monitor

Monitor eBay seller inventory and detect listing changes between runs. Track new and removed listings, price updates, availability, shipping, and content changes. Build a baseline, schedule recurring runs, and export structured results via dataset or API.

Pricing

from $2.00 / 1,000 results

Rating

0.0

(0)

Developer

Roman Bublyk

Roman Bublyk

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

3 days ago

Last modified

Categories

Share

Monitor public eBay seller inventory over time and distinguish real catalog changes from listing churn.

The Actor keeps a stateful snapshot for every seller and marketplace, compares each successful run with the previous one, and returns structured seller summaries, listing snapshots, and lifecycle events.

Why this Actor

Most eBay monitoring tools treat every listing ID as a separate product. Sellers can end and recreate listings, which makes simple ID-based monitoring report misleading additions and removals.

This Actor follows a more conservative principle:

Track the product, not only the listing.

It uses exact listing IDs and normalized product signals to identify changes while exposing the matching method, evidence, and confidence. A disappeared listing is never presented as a confirmed sale because public eBay pages do not provide enough evidence for that conclusion.

What it detects

  • new listings;
  • ended listings;
  • price changes;
  • content changes;
  • probable relists when the available evidence is strong enough;
  • unknown outcomes when a listing disappears without proof of a sale.

Supported marketplaces

  • EBAY_US — United States;
  • EBAY_GB — United Kingdom;
  • EBAY_DE — Germany.

Input

{
"sellers": [
{
"username": "musicmagpie",
"marketplace": "EBAY_GB"
}
],
"maxListingsPerSeller": 100,
"emitUnchangedListings": false,
"proxyConfiguration": {
"useApifyProxy": true,
"apifyProxyGroups": ["RESIDENTIAL"]
}
}

Input fields

FieldRequiredDescription
sellersYesOne to 20 public seller usernames and their marketplaces.
maxListingsPerSellerNoMaximum listings collected per seller, from 1 to 1,000. Default: 100. If the limit is reached, boundary events are suppressed to prevent false changes caused by window rotation.
emitUnchangedListingsNoWhen enabled, writes all current listing snapshots to the dataset. Default: false.
proxyConfigurationNoApify proxy configuration. When omitted, the Actor uses Apify Residential Proxy because eBay commonly blocks datacenter traffic.

Keep maxListingsPerSeller unchanged between scheduled runs. Changing it creates a new baseline because two differently sized snapshots cannot be compared reliably.

Output

The default dataset can contain four record types:

recordTypeMeaning
seller-summaryRun-level result for one seller, including baseline state and event counts.
lifecycle-eventA detected change with matching method, evidence, and confidence.
listing-snapshotCurrent normalized listing data. Emitted on the first run or when explicitly requested.
errorStructured seller-level failure that does not hide successful results for other sellers.

Example lifecycle event:

{
"recordType": "lifecycle-event",
"schemaVersion": "1.0",
"status": "ok",
"eventType": "PRICE_CHANGED",
"sellerUsername": "example-seller",
"marketplace": "EBAY_GB",
"previousListingId": "123456789012",
"currentListingId": "123456789012",
"confidence": 1,
"confidenceLevel": "confirmed",
"matchingMethod": "LISTING_ID_EXACT",
"evidence": ["same_listing_id", "price_changed"],
"observedAt": "2026-09-22T20:46:27.580Z"
}

Stateful monitoring

The first successful run for a seller is a baseline and does not report historical changes that the Actor could not observe. Later runs compare the current inventory with the stored snapshot.

Each seller summary reports snapshot coverage:

  • snapshotTruncated: false and lifecycleCoverage: complete-snapshot mean the collected snapshot is below the configured limit, so additions, endings, relists, price changes, and content changes can be evaluated;
  • snapshotTruncated: true and lifecycleCoverage: overlap-only mean the configured limit was reached. The Actor then reports price and content changes only for listing IDs visible in both snapshots. It suppresses additions, endings, and relists because leaving a capped result window does not prove that a listing ended.

baselineReason can be:

  • no-previous-snapshot — the seller has no stored snapshot yet;
  • monitoring-scope-changed — maxListingsPerSeller changed;
  • null — the current run was compared with the preceding compatible snapshot.

For useful monitoring, save the input as an Apify Task and schedule it at a consistent interval.

API

Apify automatically exposes the Actor through its REST API. Replace <ACTOR_ID> with the Actor ID shown in the Console and <APIFY_TOKEN> with your token.

Start a run

curl -X POST \
"https://api.apify.com/v2/acts/<ACTOR_ID>/runs" \
-H "Authorization: Bearer <APIFY_TOKEN>" \
-H "Content-Type: application/json" \
-d '{
"sellers": [{"username": "musicmagpie", "marketplace": "EBAY_GB"}],
"maxListingsPerSeller": 100,
"emitUnchangedListings": false,
"proxyConfiguration": {
"useApifyProxy": true,
"apifyProxyGroups": ["RESIDENTIAL"]
}
}'

Run synchronously and return dataset items

curl -X POST \
"https://api.apify.com/v2/acts/<ACTOR_ID>/run-sync-get-dataset-items?format=json" \
-H "Authorization: Bearer <APIFY_TOKEN>" \
-H "Content-Type: application/json" \
-d '{
"sellers": [{"username": "musicmagpie", "marketplace": "EBAY_GB"}],
"maxListingsPerSeller": 100
}'

Read results from a completed run

Use the defaultDatasetId returned by the run:

curl \
-H "Authorization: Bearer <APIFY_TOKEN>" \
"https://api.apify.com/v2/datasets/<DATASET_ID>/items?format=json&clean=true"

The Input, API, and Integration tabs in Apify Console generate equivalent examples for JavaScript, Python, cURL, and supported integrations from the Actor's schemas.

Accuracy and limitations

  • The Actor monitors publicly visible active inventory; it does not access private seller analytics, orders, or buyer data.
  • A missing listing means that it ended or disappeared from the monitored inventory. It does not prove that the item sold.
  • For sellers whose inventory reaches maxListingsPerSeller, the Actor intentionally suppresses new, ended, unknown-outcome, and relisted events. Increase the limit to obtain complete-snapshot lifecycle coverage when the seller's inventory fits within the supported maximum.
  • Prices are the values displayed in the seller search results for the selected marketplace and proxy context. A detail or checkout page can show a different value because of location, tax, shipping, promotions, or session state.
  • eBay can change markup or restrict automated traffic. Residential proxies reduce blocking but cannot guarantee uninterrupted access.
  • The Actor does not use an LLM. Lifecycle classification is deterministic and evidence-based.

Proxy and cost considerations

eBay commonly rejects datacenter traffic. Both the input form and the runtime fallback therefore use Apify Residential Proxy. Platform compute and proxy usage are included in the Actor's Store event pricing rather than charged to the user as a separate usage line.

Privacy

The Actor processes public seller and listing information only. It does not require eBay credentials and does not intentionally collect buyer information.