Facebook Marketplace Status Check [$0.30/1k] + Price Tracking
Pricing
from $0.30 / 1,000 listing status checks
Facebook Marketplace Status Check [$0.30/1k] + Price Tracking
Facebook Marketplace Status Check — batch-check listing IDs and get ACTIVE / SOLD / PENDING / REMOVED per listing, plus the price and title it saw so you can spot price cuts between runs. Thousands of IDs per run, one lean request each. Pay only per listing checked.
Pricing
from $0.30 / 1,000 listing status checks
Rating
0.0
(0)
Developer
Muhamed Didovic
Maintained by CommunityActor stats
0
Bookmarked
11
Total users
11
Monthly active users
6 days ago
Last modified
Categories
Share
Facebook Marketplace Status Check — ACTIVE / SOLD / PENDING / REMOVED
Re-check Marketplace listings you already track. Feed a batch of listing IDs and get each one's current status back — plus the price and title the checker saw, so you can spot a price cut or a title edit between runs.
| Input | Row emitted |
|---|---|
Listing ID (1684796895966121) | { status, price, title, … } |
Item URL (/marketplace/item/<id>/) | same |
Pure HTTP. One lean GraphQL request per listing — not a 900 KB page load. No login, no browser.
Why use this checker?
- Cheap re-checks at scale. Thousands of IDs per run, a small fraction of the cost of re-scraping each listing.
- Price-change detection for free. The response already carries price and title, so every check doubles as a snapshot. Diff two runs and you have a price-drop feed.
- Honest about uncertainty. A listing we couldn't reach comes back
UNDETERMINED— never mislabeledREMOVED. A transient rate-limit will never tell you a live listing was deleted. - Self-healing tokens. Facebook's request tokens and query ID are harvested from a live page at startup and re-harvested if they go stale — nothing hardcoded to rot.
Overview
This is a status checker, not a full scraper. It answers "what happened to these listings?" for IDs you already have. For discovery and full listing detail (seller, all photos, vehicle specs, real-estate fields) use the Facebook Marketplace Scraper.
Supported inputs
| Accepted | Example |
|---|---|
| Bare listing ID | 1684796895966121 |
| Item URL | https://www.facebook.com/marketplace/item/1684796895966121/ |
Supply them via listingIds or startUrls. Duplicates are removed automatically.
Use cases
| Audience | What they use it for |
|---|---|
| Marketplace aggregators | Nightly pass to retire SOLD/REMOVED listings from a live index |
| Dealers & resellers | Watch competitor inventory — what sold, what got marked down |
| Price intelligence | Diff price between runs to build a price-history / price-drop feed |
| Lead-gen | SOLD is a completed-transaction signal; PENDING is a deal in progress |
How it works
- Bootstrap once. One item page is loaded to harvest Facebook's
lsdtoken and the currentMarketplacePDPContainerQuerydocument ID (read from the page's own preloader — never hardcoded, so it survives Facebook's query rotations). - Check each ID. A single GraphQL POST per listing (~89 KB compressed; ~0.1 KB when the listing is gone) reads the listing's
is_live/is_sold/is_pendingflags plus its price, title, location and condition. - Classify + snapshot. Flags map to a clean status; the snapshot fields ride along at no extra cost.
Rate limits rotate the proxy session and re-bootstrap tokens automatically.
Input configuration
| Field | Type | Required | Notes |
|---|---|---|---|
listingIds | array | one of the two | Listing IDs or item URLs, one per line. |
startUrls | array | one of the two | Item URLs (URL list editor). |
maxConcurrency | integer | no | Listings checked in parallel, 1–20 (default 10). |
maxRetries | integer | no | Retries per listing before UNDETERMINED (default 4). |
proxy | object | no | Proxy for non-paying runs. Paying runs use a built-in residential proxy. |
Example input
{"listingIds": ["1684796895966121","1343074341247657","1111111111111111"],"maxConcurrency": 10}
Output overview
One dataset row per unique listing checked. status is the verdict; the remaining fields are the snapshot of the listing at check time.
Output samples
Live listing:
{"id": "1684796895966121","url": "https://www.facebook.com/marketplace/item/1684796895966121/","status": "ACTIVE","isLive": true,"isSold": false,"isPending": false,"title": "2021 Quality trailers Car trailer","price": 4500,"priceFormatted": "$4,500","currency": "USD","locationText": "Peekskill, NY","condition": "USED","createdAt": "2026-07-21T14:24:09.000Z","checkedAt": "2026-07-23T09:03:11.000Z"}
Listing that no longer resolves:
{"id": "1111111111111111","url": "https://www.facebook.com/marketplace/item/1111111111111111/","status": "REMOVED","isLive": false,"isSold": null,"isPending": null,"title": null,"price": null,"priceFormatted": null,"currency": null,"locationText": null,"condition": null,"createdAt": null,"checkedAt": "2026-07-23T09:03:12.000Z"}
Key output fields
| Field | Meaning |
|---|---|
status | ACTIVE · SOLD · PENDING · INACTIVE (delisted but not sold) · REMOVED (no longer resolves) · UNDETERMINED (couldn't check — re-queue) |
price | Numeric amount at check time — diff across runs to detect price changes |
priceFormatted | Display price (e.g. $4,500) when Facebook supplies it |
currency | ISO currency of price |
title | Listing title at check time (detects title edits) |
locationText | e.g. Peekskill, NY |
condition | e.g. USED, NEW |
createdAt | When the listing was originally posted |
checkedAt | When this check ran |
FAQ
Is UNDETERMINED the same as removed? No — and that distinction is deliberate. UNDETERMINED means the check itself failed (rate-limit/block) after retries. Treat it as "unknown, re-check", never as a deletion.
What's the difference between INACTIVE and REMOVED? INACTIVE means the listing still resolves but is no longer live (delisted/expired). REMOVED means it doesn't resolve at all.
Can I detect price drops with this? Yes — that's what price is for. Store each run's price per ID and compare; a lower value on a later run is a price cut.
Does it return the seller? No. Facebook does not expose seller identity to logged-out requests, so no checker can return it reliably. Use the full scraper if you need listing detail.
How many IDs per run? As many as your run charge limit allows — the actor caps itself so it never checks more than you're willing to pay for.
Will it break when Facebook rotates its GraphQL query? No. The document ID is read live from Facebook's own page at startup, and re-harvested when tokens go stale.
Support
Issues and feature requests: the actor's Issues tab, or via the Apify Store profile.
Additional services
Need scheduled monitoring, a price-history pipeline, or a variant tailored to your dataset? Reach out via the Store profile.
Explore more scrapers
- Facebook Marketplace Scraper — full listings, vehicle & real-estate detail
- Facebook Group Post Checker — exists / deleted for group posts
- Facebook Public Group Posts Scraper — full group post content
⚠️ Disclaimer
This Actor accesses publicly available data on Facebook Marketplace for legitimate research, market-intelligence, and business-analysis purposes. Use of this Actor must comply with Facebook's Terms of Service and all applicable laws, including data-protection regulations (GDPR, CCPA, etc.). The Actor's authors are not responsible for any misuse. Users must:
- Respect rate limits and avoid overloading Facebook's infrastructure
- Not use the results to violate user privacy or platform terms
- Use the data in compliance with applicable jurisdictions
- Not republish scraped content in violation of copyright
This Actor is not affiliated with, endorsed by, or sponsored by Meta Platforms, Inc. "Facebook" and "Facebook Marketplace" are trademarks of Meta Platforms, Inc. We do not store any checked data; the Actor returns it directly to your Apify dataset for your authorized use.
SEO Keywords
facebook marketplace status check, marketplace listing sold checker, facebook listing status api, check if marketplace listing sold, marketplace price change detection, facebook marketplace monitoring, bulk listing status check, marketplace listing removed checker, price drop tracker, facebook marketplace scraper, listing id lookup, marketplace inventory monitoring, apify facebook actor, no-code marketplace checker, facebook marketplace price history, sold listing detection, batch status check, marketplace data extraction, competitor inventory tracking, facebook public data