OfferUp Scraper — Listings, Sellers & Vehicle VINs avatar

OfferUp Scraper — Listings, Sellers & Vehicle VINs

Pricing

from $2.00 / 1,000 listings

Go to Apify Store
OfferUp Scraper — Listings, Sellers & Vehicle VINs

OfferUp Scraper — Listings, Sellers & Vehicle VINs

Scrape OfferUp listings — by search keyword or pasted item URL. One row per listing: title, price, condition, location, photos, category, seller profile (rating, items sold, join date) and vehicle attributes (make, model, year, mileage, VIN). Optional full-item enrichment. JSON/CSV out.

Pricing

from $2.00 / 1,000 listings

Rating

0.0

(0)

Developer

Muhamed Didovic

Muhamed Didovic

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

3 days ago

Last modified

Share

OfferUp Marketplace Scraper

Turn any OfferUp search into clean, structured marketplace data. Scrape by search keyword (iphone 15, honda civic, dining table), or paste search URLs and item URLs — and get one flat row per listing with title, price, condition, location, photos, category, the full seller profile, and — for cars — full vehicle attributes including the VIN.

Built for resale and arbitrage sourcing, used-car and dealer intelligence, price monitoring, and marketplace research across the US.

How it works

How the OfferUp Marketplace Scraper works

✨ Why use this scraper?

  • Deeper rows than any other OfferUp scraper — not just title/price/image. Every enriched row carries the full description, all photos, the category tree, GPS coordinates, post date, shipping/pickup options, and the complete seller profile (rating, review count, items sold, join date, business & TruYou-verified flags, public phone number when shown).
  • Vehicle VIN + full specs — for autos listings you get make, model, year, trim, mileage, VIN, transmission, drivetrain, fuel type, title status and MPG — decoded straight from OfferUp's own data. Perfect for used-car dealers, VIN checks and market pricing.
  • Two ways in — search by keyword, or paste search/item URLs. Mix them in one run.
  • Fast mode or deep mode — leave Scrape full item pages off for quick title/price/condition/location/image rows; turn it on to add everything above. You choose cost vs depth.
  • Beats the block — OfferUp serves datacenter scrapers a 403; this actor routes every request through US residential IPs with a real browser fingerprint and racing retries, so you get the real page.
  • Structured, not scraped — reads OfferUp's own embedded __NEXT_DATA__ JSON rather than fragile HTML selectors, so the output stays reliable.
  • JSON, CSV, Excel or API — pipe straight into your sheet, CRM or pipeline. Billed per listing.

🎯 Use cases

You are a…Use it to…
Reseller / flipperSource underpriced listings by keyword and location, with condition, price and seller quality
Used-car dealer / analystPull local vehicle inventory with VIN, mileage, title status and price for market analysis
Price-monitoring / arbitrageTrack asking prices for a product across a metro over time
Marketplace / SaaS builderSeed a second-hand catalog dataset with structured, deduplicated rows
Lead-genFind active business sellers (electronics stores, dealers) with ratings and public phone numbers
Market researcherMeasure supply, price distribution and category mix in a local marketplace

📥 Supported inputs

InputExampleWhat it does
Search keywordiphone 15, honda civic, sectional sofaBuilds & paginates that OfferUp search feed
Search URLhttps://offerup.com/search?q=iphonePaginates that search
Item URLhttps://offerup.com/item/detail/{id}Scrapes that single listing in full detail

Not supported: buyer/message data, offers, and anything behind a login. The actor reads only public OfferUp search and item pages.

Note on location. OfferUp determines each search's region from the request IP, not from a URL parameter — there is no reliable ZIP/city filter on the web layer. This actor uses US residential exits, so results are localized to the exit region. To target a specific metro, run with your own city-level US residential proxy.

⚙️ How it works

  1. Classify every input — keywords become search URLs; pasted URLs are sorted into search / item.
  2. Unlock each page with a real browser TLS fingerprint over a US residential IP (racing a small batch of fresh sessions), so the real page is returned instead of a 403.
  3. Parse the embedded __NEXT_DATA__ JSON — the search feed's listing tiles, and each item page's full listing object.
  4. Enrich (optional) — for each listing, fetch its item page to add description, all photos, category, seller profile, shipping and vehicle attributes.
  5. Push one flat, deduplicated row per listing to the dataset.

🔧 Input configuration

FieldTypeDefaultDescription
searchQueriesarray["iphone"]Keywords to search OfferUp for. Each is paginated.
startUrlsarray[]OfferUp search and/or item URLs. Auto-classified.
scrapeDetailsbooleanfalseFetch each listing's full item page (description, photos, category, seller, shipping, vehicle).
maxItemsinteger1000Hard cap on rows for the whole run.
maxItemsPerSearchinteger1000Cap per keyword / search URL.
maxConcurrencyinteger6Parallel requests (keep moderate).
maxRequestRetriesinteger20Retry budget per request; each retry rotates to a fresh residential IP.
proxyobjectbuilt-inOptional override — the actor ships with US residential proxy at no extra cost.

📤 Output overview

One row per listing. In fast mode you get the search-tile fields; with Scrape full item pages on (or when you paste an item URL) every row is fully enriched.

Fast mode (search tile): listingId, title, price, condition/conditionText, locationName, primaryImage, flags, url.

Deep mode adds: description, all photos, category (L1/L2/L3), latitude/longitude, postDate, quantity, seller (rating, review count, items sold, join date, business/dealer/TruYou flags, phone, website, avatar), fulfillment (pickup/shipping), and vehicle (make, model, year, trim, mileage, VIN, transmission, drivetrain, fuel, title status, MPG) for autos.

🧾 Output samples

A car listing (deep mode):

{
"rowType": "listing",
"listingId": "9f3c…",
"url": "https://offerup.com/item/detail/9f3c…",
"title": "2012 Honda Civic",
"price": 7999,
"currency": "USD",
"isFirmPrice": false,
"conditionText": "Used",
"locationName": "Fort Worth, TX",
"latitude": 32.79, "longitude": -97.33,
"category": { "l1Name": "Vehicles", "l2Name": "Cars & Trucks", "name": "Cars & Trucks" },
"photos": ["https://images.offerup.com/…", "… 28 more"],
"postDate": "2026-06-19T20:11:10.144Z",
"seller": {
"name": "AutoMax", "ratingAverage": 5, "ratingCount": 95,
"itemsSold": 45, "dateJoined": "2015-07-28T06:34:01Z",
"isBusinessAccount": true, "isAutosDealer": true, "isTruyouVerified": true,
"phoneNumber": "817…"
},
"vehicle": {
"make": "Honda", "model": "Civic", "year": "2012", "trim": "LX Sedan 4D",
"miles": "100903", "vin": "19XFB2F55CE361481",
"transmission": "Automatic", "driveTrain": "FWD", "fuelType": "Gasoline",
"cityMpg": "28", "highwayMpg": "38"
}
}

An electronics listing (deep mode):

{
"title": "iPhone 15 plus 128GB Unlocked",
"price": 390,
"conditionText": "Used",
"locationName": "Fort Worth, TX",
"category": { "l1Name": "Electronics & Media", "l2Name": "Cell phones & Accessories" },
"seller": { "name": "Cell Repair Pro", "itemsSold": 8, "isBusinessAccount": true },
"photos": ["https://images.offerup.com/…"],
"vehicle": null
}

🔑 Key output fields

FieldDescription
listingIdOfferUp listing UUID (stable dedup key)
title / price / currencyListing title, numeric price, always USD
conditionTextItem condition (New, Used, …)
locationName / latitude / longitudeListing location + GPS
categoryCategory path — l1Namel2Namel3Name
photosArray of full-resolution image URLs
postDateWhen the listing was posted (ISO)
sellerFull seller profile: rating, review count, items sold, join date, business/dealer/TruYou flags, phone, website
fulfillmentLocal pickup / shipping options
vehicleAutos only: make, model, year, trim, mileage, VIN, transmission, drivetrain, fuel, title status, MPG
urlCanonical item-detail URL

❓ FAQ

Can I target a specific ZIP or city? OfferUp resolves a search's location from the request IP, not the URL — so there's no reliable ZIP filter on the web layer. Results reflect the US residential exit region. For a specific metro, supply your own city-level US residential proxy in the proxy field.

What's the difference between fast and deep mode? Fast mode (default) returns the search-tile fields (title, price, condition, location, image, URL) — cheap and quick. Deep mode (Scrape full item pages) fetches each listing's item page to add description, all photos, category, seller profile, shipping and vehicle attributes — richer rows, ~2× the requests.

Do I get the seller's phone number? When the seller has enabled a public/click-to-call number on their listing, yes. Many private sellers don't publish one, in which case phoneNumber is null.

Does it work for cars? Yes — autos listings return a full vehicle object with VIN, mileage, make/model/year, transmission, drivetrain, fuel type, title status and MPG.

Is a proxy included? Yes. The actor ships with US residential proxy — required because OfferUp blocks datacenter IPs. You can override it with your own US proxies.

How many results per search? OfferUp returns ~50 listings per page, up to ~50 pages — about 2,500 per keyword. Use several keywords to go wider.

🛟 Support

Found a bug or need a field added? Open an issue on the actor's Issues tab in the Apify Console and we'll take a look.

🚀 Additional services

Need a different marketplace, site, or a custom schema? We build and maintain scrapers across classifieds, real estate, jobs and e-commerce.

🔎 Explore more scrapers

  • Craigslist Scraper
  • Facebook Marketplace Scraper
  • Kleinanzeigen Scraper
  • eBay Search Scraper

⚠️ Disclaimer

This actor scrapes only publicly available listing data from OfferUp. It does not access private messages, buyer data, or any content behind a login, and it does not collect personal data beyond the public seller information OfferUp itself displays on a listing. You are responsible for using the scraped data in compliance with OfferUp's Terms of Service, applicable laws (including data-protection and consumer-protection laws), and any restrictions on automated access. Use the output lawfully and ethically.

🔍 SEO Keywords

OfferUp scraper, OfferUp API, OfferUp data extractor, scrape OfferUp listings, OfferUp marketplace scraper, OfferUp price scraper, OfferUp seller scraper, OfferUp car scraper, OfferUp VIN scraper, used car scraper, OfferUp search scraper, classifieds scraper, second-hand marketplace data, OfferUp listing export, OfferUp JSON, resale sourcing data.