Enterprise dataListing data for AI teams

Marketplace data,
ready for your AI.

Vehicles, homes and rentals from Facebook Marketplace, one record per item, priced against similar ones. By API, signed webhooks, daily files or MCP, straight into your training, retrieval and pricing pipelines.

Book a demo

Free · 30 minutes · Video call

Free · JSON, CSV or Parquet

RequestGETapi.crawlbench.com/v1/data/listings
import os, requestsKEY = os.environ["CB_KEY"] r = requests.get(    "https://api.crawlbench.com/v1/data/listings",    headers={"Authorization": f"Bearer {KEY}"},    params={"category": "vehicles", "country": "US"},)for x in r.json()["data"]:    print(x["title"], x["vs_market"]["rating_label"])
Response200 OKapplication/json
{  "data": [    {      "id": "1129384756102938",      "title": "2019 Toyota Camry SE",      "price": { "amount": 15400, "currency": "USD" },      "vs_market": {        "rating": "super_price",        "rating_label": "Great price",        "expected": 17900,        "low": 15800,        "high": 19900,        "delta_pct": -14.0,        "sample_size": 1579,        "segment": "toyota|camry|2019",        "days_to_go_p50": 6.0      },      "url": "https://www.facebook.com/marketplace/item/1129384756102938",      "category": "vehicles",      "source": "facebook_marketplace",      "description": "One owner, clean title, new tires. Service records.",      "location": {        "city": "Dallas",        "region": "TX",        "country": "US",        "latitude": 32.78,        "longitude": -96.8      },      "facts": {        "year": 2019,        "make": "Toyota",        "model": "Camry",        "trim": "se",        "mileage_mi": 58200,        "transmission": "automatic",        "fuel_type": "gasoline",        "title_status": "clean",        "owners": 1,        "vehicle_kind": "car_truck"      },      "seller": { "id": "s_4f9c2e71", "type": "individual", "listings_30d": 1 },      "flags": {        "finance_language": false,        "parts_or_accessory": false,        "implausible_ask": false      },      "status": "available",      "relist_of": null,      "posted_at": "2026-10-01T09:05:00Z",      "first_seen_at": "2026-10-01T09:12:00Z",      "last_seen_at": "2026-10-03T21:40:00Z",      "updated_at": "2026-10-03T21:40:00Z"    }  ],  "pagination": { "has_more": true, "after": "c_8KfQ2wTz" }}

Measured on 17 Oct 2026

Listing results read every hour
377K
377,434 in one hour, all countries
Marketplace pages read a day
765K
765,250 in 24 hours
Places watched
22,690
City and area searches, around the clock
Countries supported
42
2,798 cities set up for searches

From our own logs on 17 Oct 2026, and the city catalog in the app on 18 Oct 2026. Listing results count what our searches return, so a listing that shows up in two searches counts twice; records count it once. Pages include every search we read. The 2,798 cities are in North America, Europe, the Gulf, Oceania, Brazil, Nigeria and Zimbabwe.

Real estate

Homes and rentals,
the day they are listed.

Every home for sale and every rental in your areas, priced against similar homes the day it is listed, including the ones owners list themselves.

2 bed, 2 bath apartment
East Austin, TX · 12 min ago

$200 a month below usual

$1,850 a monthGood price

Most 2 bed rentals in East Austin are listed between $1,700 and $2,300 a month

Built from the asking rents of similar rentals, updated every day.

  • Homes for sale, many by their owners For investors, brokerages and buyers of homes: each asking price against the usual price for the same area, type and beds.
  • The usual rent, by size and area For property managers and rent models: the middle range of rents a month and how long similar rentals stay up.
  • Price cuts and days to go Every asking price change from the last 120 days, and daily market numbers by segment and area.
  • The same record and delivery Beds, baths, size and sale or rent in every record, by API, webhooks, daily files and MCP.
The pipeline

From a new listing
to your model.

Every record goes through the same four steps before it reaches you.

$11,900
2016 camry SE!! clean title MUST GO
Austin, TX · 12 min ago

No price check yet

The listing as the seller wrote it.
Built for AI pipelines

Clean enough to train on.

One record per item, one schema for every category, and these four things in every record.

vehicleshomesrentalselectronicsfurniturecamerastoolscollectibles
One schema

One schema, every category

Every category shares the same fields, plus a facts object: year, make, model and mileage for vehicles, beds and baths for homes.

Great price $2,600 below usual

Price context on every record

The usual price, the range most similar listings ask, the sample size and a verdict: labels your models can learn from.

  1. 3 Sep: listed at $12,900

  2. 18 Sep: cut to $12,400

  3. 3 Oct: cut to $11,900

History and changes

Every asking price from the last 120 days, relists, and the status: available, pending, sold or gone, each with a time in UTC.

seller.id: s_4f9c2e71seller.type: individual
Phone numbers Emails Street address
Masked before delivery

Sellers, handled with care

Private sellers as a stable ID for your contract, businesses by name. Phone numbers, emails and street addresses stay out.

Delivery

Where your pipeline already reads.

Use one or all four. Every option carries the same fields.

  • APIListings that changed since your last call, by category, country, city, segment and status.
  • WebhooksA signed message for each new listing, price cut and status change.
  • Daily filesParquet, CSV or JSONL in your S3, GCS or Azure bucket, or by SFTP.
  • AI agentsLet your agent search fresh listings and read market, sold price and demand numbers through our MCP server.
GETapi.crawlbench.com/v1/data/listingsPython
import os, requests url = "https://api.crawlbench.com/v1/data/listings"headers = {"Authorization": f"Bearer {os.environ['CB_KEY']}"}params = {"country": "US", "updated_since": "2026-10-03T00:00:00Z",          "limit": 500}rows = []while True:    page = requests.get(url, headers=headers, params=params).json()    rows += page["data"]    if not page["pagination"]["has_more"]:        break    params["after"] = page["pagination"]["after"]
Keyset pages of up to 500. Pass pagination.after back until has_more is false. 600 requests a minute for each key.
The fields

Every field, in plain words.

Asking prices, places, facts and times, plus our check against similar listings and the daily market numbers. Outcomes and Demand are sold apart and have a group each. Times are in UTC.

FieldTypeExampleWhat it means
idalwaysstring1129384756102938The Marketplace item ID. One record per item, however many searches find it.
urlalwaysstringfacebook.com/marketplace/item/…The listing on Marketplace.
categoryalwaysstringvehiclesvehicles, homes, rentals, electronics, furniture, cameras, tools or collectibles.
titlealwaysstring2019 Toyota Camry SEThe title as the seller wrote it.
descriptionstringOne owner, clean title…The seller’s text as plain text, up to 5,000 characters, with phone numbers and emails masked.
sourcealwaysstringfacebook_marketplaceThe marketplace the listing is on. Only live marketplaces appear.
seller.idstrings_4f9c2e71A stable ID for the seller within your contract, the same across their listings.
seller.typestringindividualindividual, dealership, page or commercial.
seller.namestringLone Star AutoBusinesses only: the name their page shows.
seller.listings_30dnumber3Listings we saw from this seller in the last 30 days.
media.photos, media.videonumber, boolean8, falseHow many photos the listing has, and whether it has a video.
deliveryarraypickup, shippingHow the seller hands it over: pickup, door pickup, public meetup, delivery or shipping.
Coverage

42 countries, 2,798 cities.

Every country where a search can run today. Volumes are largest in the United States.

Listing results an hour in the United States
358K
357,934 in one hour
Cities in the United States
209
Of the 2,798 cities

Measured on 17 Oct 2026; cities counted on 18 Oct 2026. Ask for a sample to see the numbers for your countries.

North America2 countries
United States, Canada
Middle East2 countries
United Arab Emirates, Saudi Arabia
Oceania2 countries
Australia, New Zealand
South America1 country
Brazil
Africa2 countries
Nigeria, Zimbabwe
Europe33 countries
Austria, Belgium, Bulgaria, Croatia, Cyprus, Czechia, Denmark, Estonia, Finland, France, Germany, Greece, Hungary, Iceland, Ireland, Italy, Latvia, Lithuania, Luxembourg, Malta, Netherlands, Norway, Poland, Portugal, Romania, Serbia, Slovakia, Slovenia, Spain, Sweden, Switzerland, Ukraine, United Kingdom
Questions

Questions about the data.

Something else on your mind? Write to [email protected] and a real person will answer.

Talk to us

See the data that fits.

Pick a day
Pick a time

Times in your time zone, UTC

Free · 30 minutes · Video call

Want a file first?

Free · JSON, CSV or Parquet

Step 1 of 3: free sample

What should the sample cover?

Pick at least one category and one country.

Categories

Countries