Facebook Marketplace Listings Scraper avatar

Facebook Marketplace Listings Scraper

Pricing

from $0.90 / 1,000 listings

Go to Apify Store
Facebook Marketplace Listings Scraper

Facebook Marketplace Listings Scraper

Collect public Facebook Marketplace listings from search, browse, location, or listing URLs. Get listing IDs, URLs, titles, prices, currencies, locations, availability, and main image URLs in structured dataset rows. No Facebook login or API key is required.

Pricing

from $0.90 / 1,000 listings

Rating

0.0

(0)

Developer

Maxime Dupré

Maxime Dupré

Maintained by Community

Actor stats

0

Bookmarked

1

Total users

1

Monthly active users

3 days ago

Last modified

Share

🛒 Find Facebook Marketplace Listings

For resellers, market researchers, and developers, this Actor collects public Facebook Marketplace listings and saves structured rows with listing IDs, listing URLs, titles, prices, currencies, locations, availability, and primary images. Use the rows to compare local offers, build product lists, or review marketplace data without copying it by hand.

Use it to:

📋 Marketplace Listing Rows

Each saved row represents the first eligible occurrence of one public Marketplace listing. If the same source listing appears again through another submitted value, later matches are ignored. The row keeps the listing URL, title, asking price, currency, displayed location, availability, and primary image URL. When Facebook exposes them, a row can also include a public description, additional image URLs, delivery options, and precise coordinates.

Choose one way to find listings for each run:

Marketplace search URLs

Add one or more public search or browse URLs.

Keyword and location

Enter product words and a city or other location.

Coordinates and radius

Enter a center latitude, longitude, and search radius in kilometers.

Direct listing lookup

Add one or more public Marketplace listing URLs when you already know the listings to collect.

Use one mode per run. Fields for other modes are ignored. You do not need a Facebook login or API key. Set Maximum listings when you want a cap. Leave it empty to return all available results until the source is exhausted. Facebook may return fewer listings.

⚙️ Input

Input fields

FieldTypeWhat it does
findBystringChooses searchUrls, keywordLocation, coordinatesRadius, or directListingLookup. Use one mode per run.
searchUrlsarray of objectsAdds one or more public Marketplace search or browse URL objects. Required for this mode.
keywordstringSets product words such as mountain bike. Required with keywordLocation.
locationstringSets a city or other place such as Austin, Texas. Required with keywordLocation.
latitudenumberSets the center latitude from -90 to 90. Required with coordinatesRadius.
longitudenumberSets the center longitude from -180 to 180. Required with coordinatesRadius.
radiusKmnumberSets a positive search radius in kilometers. Required with coordinatesRadius.
listingUrlsarray of objectsAdds public listing URL objects for direct lookup. Required for this mode.
maxItemsintegerSets the listing cap. Leave it empty to return all available results until the source is exhausted. Facebook may return fewer listings.

Example input

This example is copied from the public input of the successful current-beta default-input run:

{
"findBy": "searchUrls",
"searchUrls": [
{
"url": "https://www.facebook.com/marketplace/108479165840750/search/?query=bike"
}
],
"maxItems": 25
}

🧾 Output

Run output

FieldTypeWhat it does
resultsstringLinks to the collected listing rows in the default dataset overview.

Listing row fields

The dataset has one listing-row shape for all four input modes. The source may hide or remove listings, so a run can return fewer rows than requested.

FieldTypeWhat it does
listingIdstringGives the public ID of the Marketplace listing.
listingUrlstringLinks to the public Facebook Marketplace listing.
titlestringGives the title shown on the listing.
pricenumberGives the asking price shown on the listing.
currencystringGives the currency shown for the asking price.
locationstringGives the location shown on the listing.
availabilityStatusstringGives the availability state shown on the listing.
primaryImageUrlstringLinks to the main image shown for the listing.
descriptionstring, optionalGives the public description shown on the listing, when available.
additionalImageUrlsarray of strings, optionalLinks to additional public listing images, when available.
deliveryOptionsarray of strings, optionalLists delivery or fulfillment options shown on the listing, when available.
coordinatesobject, optionalContains precise listing coordinates, when available.
coordinates.latitudenumber, optionalGives the listing latitude in decimal degrees.
coordinates.longitudenumber, optionalGives the listing longitude in decimal degrees.

Example listing row

This complete row is copied from the first row of the successful current-beta search run:

{
"listingId": "4607242942828271",
"listingUrl": "https://www.facebook.com/marketplace/item/4607242942828271/",
"title": "বাইক, bike",
"price": 3000000,
"currency": "BDT",
"location": "Rajshahi",
"availabilityStatus": "Available",
"primaryImageUrl": "https://scontent.flhr3-3.fna.fbcdn.net/v/t39.84726-6/800966063_1488033966718777_8943870452592698937_n.jpg?stp=c0.99.261.261a_dst-jpg_p261x260_tt6&_nc_cat=103&ccb=1-7&_nc_sid=92e707&_nc_ohc=7xzU8O8yoyoQ7kNvwHVekui&_nc_oc=AdrMdfEbqEPAIYfibbBsddRVSbHeM9H27OLvFHP2stif-QDz8ajNPHt0vxMIEXu0s8RrauIIrJ5N-FzWgUPEzPjD&_nc_zt=14&_nc_ht=scontent.flhr3-3.fna&_nc_gid=85YuQHqhfmLT7sci62TQHA&_nc_ss=73289&oh=00_AQKecIXf97AkjzyxFF5jpB4Bti3VyfENGDLpbwAQALcPjg&oe=6AB6297E",
"description": "hsv i",
"additionalImageUrls": [
"https://scontent.flhr3-4.fna.fbcdn.net/v/t45.5328-4/802019793_1059844590369027_127759709874502540_n.jpg?stp=dst-jpg_s960x960_tt6&_nc_cat=109&ccb=1-7&_nc_sid=247b10&_nc_ohc=j8LRJ98st70Q7kNvwFhX4cF&_nc_oc=Adp0pqWtfd4GOCxk64aw5cUm5FPspdaANC1FaXl34BhsV2FCQqLd-PbiL_jFr_fSd-QFmtLHxBhxYEjUngUP_ase&_nc_zt=23&_nc_ht=scontent.flhr3-4.fna&_nc_gid=mkWlA7th7LWA4zh1JMUNhw&_nc_ss=73289&oh=00_AQJdHeThPVAdPYuKjZmBJnKS98gB6eX4cS12BPkqGHZFVg&oe=6AB62001"
],
"deliveryOptions": [
"IN_PERSON"
],
"coordinates": {
"latitude": 24.364929199219,
"longitude": 88.599243164062
}
}

💳 Pricing

How charges work

This Actor uses pay-per-event pricing. One Listing event is charged for each public listing saved to the dataset. The current price and tier details appear in the Store pricing panel.

🔌 Integrations

Use the Apify API to start runs and read the default dataset. You can also schedule runs, export dataset rows, or send finished-run data to webhooks.

❓ FAQ

Do I need a Facebook login or API key?

No. The Actor collects publicly visible Marketplace listings without a Facebook login or API key.

Why did my run return fewer listings than maxItems?

maxItems is a cap, not a promise. Facebook may hide, remove, or block public listings, so the source may return fewer rows.

Can I use a search URL with filters?

Yes. Add a public Marketplace search or browse URL in Marketplace search URLs. You can add multiple URLs for the same kind of search, but keep independent keyword, location, or filter combinations in separate runs.

Can I search by a keyword and location?

Yes. Choose Keyword and location, then enter both fields.

Can I search around coordinates?

Yes. Choose Coordinates and radius and enter latitude, longitude, and a positive radius in kilometers.

Can I look up known listings?

Yes. Choose Direct listing lookup and add public Marketplace listing URLs.

What extra fields can a listing row include?

When Facebook exposes them, a row can include a public description, additional image URLs, delivery options, and precise latitude and longitude. These fields may be absent when the source does not show them.

Why is the same listing saved only once?

The Actor saves the first eligible occurrence and ignores later matches for the same source listing. The saved row reflects the first match, not a combination of later matches.

Is the data guaranteed complete or fresh?

No. Results cover the public listings Facebook exposes during the run. The Actor does not promise a fixed count or future freshness.

📝 Changelog

v1.0 (20-09-2026)

  • Coordinate and radius searches now return only listings whose precise coordinates are within the requested radius.
  • Listing rows can include public descriptions, extra image URLs, delivery options, and precise coordinates when Facebook provides them.
  • Rich listing details are collected automatically when available, so the separate rich-details input is no longer needed.
  • Dataset rows no longer include the collectedAt field.

v0.0

  • Initial release.

🆘 Support

For issues, questions, or feature requests, file a ticket and I'll fix or implement it in less than 24h 🫡

Made with ❤️ by Maxime Dupré