OfferUp Listings Scraper avatar

OfferUp Listings Scraper

Pricing

from $2.00 / 1,000 product listings

Go to Apify Store
OfferUp Listings Scraper

OfferUp Listings Scraper

Scrapes OfferUp search results by keyword, location, and price filters — capturing titles, prices, conditions, images, and locations. Enable full detail mode to also collect descriptions, post dates, seller names, ratings, and verification status.

Pricing

from $2.00 / 1,000 product listings

Rating

0.0

(0)

Developer

FalconScrape

FalconScrape

Maintained by Community

Actor stats

2

Bookmarked

67

Total users

7

Monthly active users

12 days ago

Last modified

Share

OfferUp Listings Scraper

Extract product listings from OfferUp by keyword, location, and price filters. The OfferUp Listings Scraper lets you collect structured marketplace data for price research, inventory tracking, and competitive analysis.

Features

  • 🔍 Keyword & Location Search: Search any keyword around a city, ZIP code or exact coordinates, with a radius.
  • 🏷️ Rich Listing Data: Capture title, price, condition, images, location, flags (e.g. "Promoted"), and vehicle mileage.
  • 📄 Full Detail Mode: Optionally visit each listing page to collect description, post date, seller name, rating, review count, and TruYou verification status.
  • 💰 Price Filtering: Set minimum and/or maximum price to focus on your target range.
  • 📦 Condition Filter: Restrict results to new items, used items, or all conditions.
  • 🚚 Shipping Toggle: Include or exclude listings that ship nationwide.
  • 📄 Automatic Pagination: Follows OfferUp's cursor-based pagination to collect as many results as you need.

How It Works

  1. Enter a search query — keywords like iphone 14 pro, mountain bike, or sofa.
  2. Set optional filters — location (city, ZIP code or latitude/longitude), radius, price range, condition, and item limit.
  3. Choose detail level — leave Scrape Full Details off for fast search-result data, or enable it to enrich each listing with description and seller info.
  4. Run the scraper — results are delivered as structured JSON in the Apify dataset.

Note: OfferUp is only available in the United States. US residential proxies are required and pre-configured by default.

Input

FieldTypeDefaultDescription
querystring(required)Keywords to search for (e.g. iphone 14 pro)
locationstring—City or place to search near (e.g. New York, Austin, TX), resolved with OfferUp's own location search
zipCodestring—US ZIP code to search near (e.g. 90012). Overrides location
latitude / longitudenumber—Exact search center (e.g. 41.8781 / -87.6298). Overrides zipCode and location
radiusMilesinteger50Search radius in miles from the given location (1–500)
maxItemsinteger100Maximum number of listings to collect (1–10 000)
priceMininteger—Minimum listing price in USD
priceMaxinteger—Maximum listing price in USD
conditionstringallItem condition: all, new, or used
includeShippingbooleantrueInclude listings that ship; disable for local pickup only
scrapeDetailsbooleanfalseVisit each listing page for description, post date, and seller info
proxyConfigurationobjectUS ResidentialProxy settings — US residential proxies are required

Location precedence: latitude/longitude → zipCode → location. The run's status message and the SUMMARY record in the key-value store show the area that was searched (label, latitude, longitude). If a location can't be found, the run ends with a clear message and nothing is charged. With no location at all, OfferUp picks an area from the proxy IP.

Tip: always set location, zipCode or latitude/longitude. Without one, results come from wherever the proxy IP happens to be (it changes between runs), and some areas have far fewer listings, so large maxItems runs can end early.

Results never contain the same listing twice. If OfferUp runs out of new listings before maxItems, the run stops and the status message says so.

Sample Output

Basic mode (scrapeDetails: false)

{
"listingId": "6760813b-6fea-3a1a-a5f1-997d0e5f7030",
"url": "https://offerup.com/item/detail/6760813b-6fea-3a1a-a5f1-997d0e5f7030/",
"title": "iPhone 16",
"price": 650,
"isFirmPrice": false,
"locationName": "New York, NY",
"conditionText": "Good",
"imageUrl": "https://images.offerup.com/...",
"flags": [],
"vehicleMiles": null
}

Detail mode (scrapeDetails: true)

{
"listingId": "7db5e798-118f-32c6-9d1f-65fae3bd6c9f",
"url": "https://offerup.com/item/detail/7db5e798-118f-32c6-9d1f-65fae3bd6c9f/",
"title": "iPhone SE 3 128GB unlocked",
"price": 180,
"isFirmPrice": null,
"locationName": "Brooklyn, NY",
"conditionText": "Like new",
"imageUrl": "https://images.offerup.com/...",
"flags": [],
"vehicleMiles": null,
"description": "iPhone SE 3 unlocked 128GB\nImmaculate, 100% battery life",
"postDate": "about 4 hours ago",
"sellerName": "Khushbakht Lucky",
"sellerRating": 4.5,
"sellerReviewCount": 20,
"sellerIsTruYou": false
}

Pricing

This Actor uses Pay Per Result pricing — you only pay for the data you actually receive.

ModeEventPrice per 1 000 results
Basic (search results only)product-listing$2.00
Full details (with description & seller info)item-detail$15.00

Scraping 1 000 listings in basic mode costs $2. Enabling full details costs $15 per 1 000 listings. A run is stopped automatically if you reach a spend cap you configure in the Apify Console.