# OfferUp Scraper - Low-cost💲🔥🛍️💰 (`delectable_incubator/offerup-scraper-low-cost`) Actor

🛍️ Easily scrape OfferUp listings. Extract listing IDs, product titles, prices, conditions, locations, images, videos, promotion status, firm-price information, pickup flags, vehicle mileage, listing URLs & source URLs. Perfect for marketplace research, price monitoring and resale datasets 💰📊

- **URL**: https://apify.com/delectable\_incubator/offerup-scraper-low-cost.md
- **Developed by:** [Prime Scrape](https://apify.com/delectable_incubator) (community)
- **Categories:** E-commerce, Automation, Lead generation
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 1 bookmarks
- **User rating**: 5.00 out of 5 stars

## Pricing

from $0.00005 / actor start

This Actor is paid per event and usage. You are charged both the fixed price for specific events and for Apify platform usage.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

Learn more: https://docs.apify.com/actors/running/actors-in-store.md#pay-per-event

## What's an Apify Actor?

Actors are web data automations that power AI and operations. They run on the Apify platform to scrape websites, process data, connect APIs, and automate workflows.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.
Actors are written with capital "A".

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.
The best way to integrate Actors is as follows.

- **AI agents and MCP clients** — the [Apify MCP server](https://docs.apify.com/integrations/mcp.md) at `https://mcp.apify.com` (remote, streamable HTTP, OAuth on first use).
- **Agentic workflows and local Actor development** — [Agent Skills](https://apify.com/.well-known/agent-skills/index.json) with the [Apify CLI](https://docs.apify.com/cli/docs.md): `npm install -g apify-cli`, then `apify login`.
- **JavaScript/TypeScript projects** — the official [JS/TS client](https://docs.apify.com/api/client/js/docs.md): `npm install apify-client`.
- **Python projects** — the official [Python client](https://docs.apify.com/api/client/python/docs.md): `pip install apify-client`.
- **Any other language** — the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).

# README

<p align="center">

  <img src="https://i.ibb.co/jkNS73wX/readme.png" alt="OfferUp Search Scraper" width="100%">

</p>

***

## 🛍️🔎 OfferUp Search Scraper | OfferUp Product Scraper | Marketplace Listings | Apify Actor

### 🚀 Extract OfferUp Product Listings in Seconds (No Code)

The **OfferUp Search Scraper (Apify Actor)** is a powerful, scalable, and SEO-optimized scraping solution designed to extract **product listings from OfferUp search results**.

Search OfferUp using **one or multiple keywords**, configure a **ZIP code to define the search location**, and collect structured marketplace listing data including **listing IDs, titles, prices, conditions, locations, images, videos, listing URLs, promotion status, pickup flags, vehicle mileage, and search metadata**.

Perfect for **marketplace research, product price monitoring, competitor analysis, local marketplace intelligence, resale research, e-commerce research, product datasets, price analysis, inventory research, lead generation, AI datasets, and automation**.

***

## 🔥 Why This OfferUp Search Scraper?

✔ Powerful OfferUp Search Scraper on Apify

✔ OfferUp Product Listing Scraping

✔ Search by Multiple Keywords

✔ Bulk Keyword Support

✔ ZIP Code Location Targeting

✔ Local Marketplace Research

✔ Product Titles

✔ Product Prices

✔ Product Conditions

✔ Seller Location

✔ Listing IDs

✔ Product Images

✔ Product Videos

✔ Listing URLs

✔ Promoted Listing Detection

✔ Firm Price Information

✔ Pickup Information

✔ Vehicle Mileage

✔ Search Source URLs

✔ Automatic Timestamp

✔ Fast & Scalable Extraction

✔ JSON / CSV / Excel Ready

✔ Residential Proxy Support

✔ No Coding Required

***

## 🎯 What This Scraper Does

This Apify Actor extracts publicly available product listings from **OfferUp search results**.

Simply provide one or multiple search keywords such as:

💻 `laptop`

📺 `tv`

📱 `iphone`

The scraper automatically processes each keyword and collects available listings from the corresponding OfferUp search results.

You can also specify a **ZIP code** to configure the OfferUp search location.

Example:

```
laptop
tv
iphone
```

Each keyword is processed independently, making it easy to build large marketplace datasets.

***

## 📌 Supported Input

The scraper accepts one or multiple OfferUp search keywords.

Example keywords:

```
laptop
iphone
macbook
tv
ps5
xbox
camera
bike
furniture
```

You can provide multiple keywords in a single run.

***

## ⚡ Input Configuration

Example configuration:

```
{
  "keywords": [
    "laptop",
    "tv",
    "iphone"
  ],
  "zipCode": "10001",
  "maxItemsPerUrl": 100,
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ],
    "apifyProxyCountry": "US"
  }
}
```

Simply add your desired **OfferUp search keywords**, select the target ZIP code, and configure the maximum number of listings to collect.

***

## 🔎 BULK KEYWORD MODE

The Actor supports multiple search keywords in a single run.

Example:

```
{
  "keywords": [
    "laptop",
    "macbook",
    "iphone",
    "ipad",
    "gaming pc"
  ]
}
```

Each keyword is searched separately.

This makes the scraper ideal for **bulk marketplace research and product monitoring**.

***

## 📍 ZIP Code Location

The `zipCode` parameter is used to configure the OfferUp search location.

Example:

```
{
  "zipCode": "10001"
}
```

The ZIP code can be used to target a specific local marketplace area.

This is particularly useful for:

📍 Local Product Research

🏪 Marketplace Intelligence

💰 Local Price Analysis

🚚 Pickup-Based Research

🔎 Nearby Listing Discovery

***

## 🔢 Maximum Items per URL

The `maxItemsPerUrl` parameter defines the maximum number of listings collected for each keyword search.

Example:

```
{
  "maxItemsPerUrl": 100
}
```

If you provide three keywords and set the limit to 100, the Actor can collect up to **100 listings per keyword search**, depending on listing availability.

***

## 📊 Extracted Data

| Field        | Description                        |
| ------------ | ---------------------------------- |
| listingId    | Unique OfferUp listing ID          |
| title        | Product listing title              |
| price        | Product listing price              |
| condition    | Product condition                  |
| locationName | Listing location                   |
| isPromoted   | Whether the listing is promoted    |
| isFirmPrice  | Whether the price is firm          |
| flags        | Listing flags such as local pickup |
| imageUrl     | Main product image                 |
| imageWidth   | Image width                        |
| imageHeight  | Image height                       |
| videoUrl     | Product video URL                  |
| vehicleMiles | Vehicle mileage when available     |
| listingUrl   | Direct OfferUp listing URL         |
| keyword      | Search keyword used                |
| zipCode      | ZIP code used for the search       |
| sourceUrl    | Original OfferUp search URL        |
| scrapedAt    | Extraction timestamp               |

***

## 🛍️ Product Information

The scraper extracts important information about each OfferUp listing:

🏷️ Listing Title

💰 Price

📊 Condition

📍 Location

🆔 Listing ID

🚩 Listing Flags

⭐ Promotion Status

💵 Firm Price Status

This allows you to analyze marketplace inventory and pricing at scale.

***

## 🖼️ Product Images & Videos

When available, the Actor extracts:

🖼️ Image URL

📐 Image Width

📏 Image Height

🎥 Video URL

This makes the dataset useful for **visual product research and marketplace monitoring**.

***

## 📍 Local Marketplace Information

OfferUp is strongly focused on local marketplace activity.

The scraper can collect:

📍 Location Name

📮 ZIP Code

🚚 Local Pickup Flags

🔎 Search Keyword

This makes it possible to analyze product availability by local market.

***

## 💰 Price Research

Extract listing prices to perform:

💰 Price Comparison

📊 Marketplace Price Analysis

📈 Price Monitoring

🏷️ Product Valuation

🔎 Competitor Research

💵 Resale Opportunity Analysis

For example, you can search the same product across multiple keywords and analyze the prices returned by OfferUp.

***

## 🔎 Search Metadata

Each extracted listing also includes information about the search that produced it:

🔎 Keyword

📮 ZIP Code

🌐 Source URL

⏱️ Scraped At

This allows you to trace every listing back to the original search configuration.

***

## 🔄 Bulk Search

The Actor supports multiple keywords in a single run.

Example:

```
{
  "keywords": [
    "iphone 15",
    "iphone 14",
    "iphone 13",
    "samsung galaxy",
    "google pixel"
  ],
  "zipCode": "10001",
  "maxItemsPerUrl": 100
}
```

This allows you to create large product datasets without running the Actor separately for every keyword.

***

## 🌐 Proxy Support

The Actor supports Apify Proxy configuration.

Residential proxies are recommended for reliable OfferUp extraction.

Example:

```
{
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ],
    "apifyProxyCountry": "US"
  }
}
```

The default configuration uses **US residential proxies**.

***

## 💡 Use Cases

Perfect for:

🛍️ Marketplace Research

💰 Product Price Monitoring

📊 Price Comparison

🔎 Competitor Research

📍 Local Marketplace Intelligence

🏷️ Product Valuation

💵 Resale Research

📈 Inventory Analysis

🛒 E-commerce Research

📦 Product Dataset Building

🤖 AI Training Datasets

📊 Market Intelligence

🔎 Product Discovery

🚚 Local Pickup Research

⚙️ Automation Workflows

***

## 🚀 Key Features

⚡ OfferUp Search Scraping

🛍️ Product Listing Extraction

🔎 Keyword Search

📚 Bulk Keyword Support

📍 ZIP Code Targeting

🆔 Listing IDs

🏷️ Product Titles

💰 Prices

📊 Conditions

📍 Listing Locations

⭐ Promoted Listing Detection

💵 Firm Price Information

🚩 Listing Flags

🖼️ Product Images

🎥 Product Videos

🚗 Vehicle Mileage

🔗 Listing URLs

🌐 Source URLs

🔎 Search Keywords

📮 ZIP Codes

⏱️ Scraping Timestamps

🌐 Residential Proxy Support

📊 Structured Output

💾 Export-Ready Datasets

⚙️ Scalable Apify Actor

***

## 📤 Export Formats

The extracted OfferUp listings can be exported through Apify in multiple formats:

✔ JSON

✔ CSV

✔ Excel (XLSX)

✔ XML

✔ HTML

✔ RSS

***

## 📦 Example Output

```
{
  "listingId": "eed35453-a3e1-3f7b-8472-4d2db7846f5f",
  "title": "Dell Laptop",
  "price": "$250",
  "condition": "N/A",
  "locationName": "Columbia, SC",
  "isPromoted": "false",
  "isFirmPrice": "N/A",
  "flags": "LOCAL_PICKUP",
  "imageUrl": "https://images.offerup.com/WL24Rfe3kWu48CeiDHi7XgHUQy4=/250x250/bc45/bc455e2e82984c7fb47df35ea893e30b.jpg",
  "imageWidth": "250",
  "imageHeight": "250",
  "videoUrl": "N/A",
  "vehicleMiles": "N/A",
  "listingUrl": "https://offerup.com/item/detail/eed35453-a3e1-3f7b-8472-4d2db7846f5f",
  "keyword": "laptop",
  "zipCode": "10001",
  "sourceUrl": "https://offerup.com/search?q=laptop",
  "scrapedAt": "2026-08-25T10:09:29.083Z"
}
```

***

## 🔥 Why Use This OfferUp Search Scraper?

✔ Bulk Keyword Searches

✔ OfferUp Product Listings

✔ Local Search Targeting

✔ ZIP Code Configuration

✔ Product Prices

✔ Product Conditions

✔ Listing Locations

✔ Promotion Status

✔ Firm Price Information

✔ Pickup Information

✔ Product Images

✔ Product Videos

✔ Vehicle Information

✔ Direct Listing URLs

✔ Search Source URLs

✔ Structured Marketplace Data

✔ Residential Proxy Support

✔ Scalable Apify Infrastructure

✔ No Coding Required

***

## 💸 Pricing

This scraper runs on a **pay-per-result** pricing model.

You only pay for successfully extracted OfferUp listings.

**💳 Price: $1.49 / 1,000 listings**

***

## ❓ FAQ

#### Can I scrape multiple OfferUp keywords?

Yes.

The Actor supports **bulk keyword searches**, allowing you to process multiple product searches in a single run.

***

#### Can I search for a specific product?

Yes.

Simply add the desired product or keyword to the `keywords` input.

Example:

```
iphone 15
```

***

#### Can I search multiple products?

Yes.

You can provide multiple keywords:

```
{
  "keywords": [
    "iphone",
    "laptop",
    "ps5",
    "tv"
  ]
}
```

Each keyword is processed independently.

***

#### Can I target a specific ZIP code?

Yes.

Use the `zipCode` parameter to configure the OfferUp search location.

***

#### What is the default ZIP code?

The default ZIP code is:

```
10001
```

You can replace it with your desired ZIP code.

***

#### Does the scraper extract prices?

Yes.

The `price` field contains the available listing price.

***

#### Does it extract product conditions?

Yes.

The scraper extracts the available `condition` information.

***

#### Does it extract listing locations?

Yes.

The `locationName` field contains the available listing location.

***

#### Does it extract product images?

Yes.

When available, the Actor extracts the main product image URL together with its dimensions.

***

#### Does it extract videos?

Yes.

When available, the `videoUrl` field contains the product video URL.

***

#### Does it detect promoted listings?

Yes.

The `isPromoted` field indicates whether a listing is promoted.

***

#### Does it extract firm-price information?

Yes.

The `isFirmPrice` field contains the available firm-price information.

***

#### Does it extract local pickup information?

Yes.

Listing flags such as `LOCAL_PICKUP` are included in the `flags` field when available.

***

#### Does it extract vehicle mileage?

Yes.

When applicable, the `vehicleMiles` field contains the available vehicle mileage.

***

#### Can I scrape thousands of listings?

Yes.

Increase `maxItemsPerUrl` and provide multiple keywords to scale your extraction.

***

#### Are proxies supported?

Yes.

The Actor supports Apify Proxy configuration, including **residential proxies**.

The default configuration uses US residential proxies.

***

#### Is coding required?

No.

Everything runs directly through Apify.

Simply enter your keywords, configure the ZIP code and maximum number of listings, then start the Actor.

***

#### Can I export the data?

Yes.

Apify supports JSON, CSV, Excel, XML, HTML and RSS exports.

***

## ⚠️ Disclaimer

This tool is an independent data extraction solution and is **not affiliated with or endorsed by OfferUp**.

Users are responsible for complying with OfferUp's Terms of Service and all applicable laws and regulations when collecting and using publicly available data.

***

## 🔗 Related Actors

We are building the complete **PrimeScrape Marketplace & E-commerce Intelligence Suite**.

More premium marketplace, product, price, retail, classified, and e-commerce data scrapers are coming soon.

🚀 Stay tuned.

***

## 🌍 PrimeScrape Ecosystem

Built for large-scale data extraction, automation, AI datasets, and business intelligence.

🛍️ Marketplace Intelligence

💰 Price Analytics

📊 Product Research

🔎 Competitor Research

📦 Inventory Intelligence

🏷️ Product Monitoring

📍 Local Marketplace Data

🤖 AI Training Datasets

⚙️ Automation Pipelines

🌐 Public Data Extraction

***

## 📬 Support

⭐⭐⭐⭐⭐

If this scraper saves you time, please leave a review.

For enterprise scraping solutions, custom Apify Actors, or large-scale marketplace and e-commerce data projects, feel free to contact **PrimeScrape**.

# Actor input Schema

## `keywords` (type: `array`):

One or more search keywords to scrape in bulk (e.g. "laptop", "tv").

## `zipCode` (type: `string`):

ZIP code used to set the OfferUp search location via the Nearby popup. Defaults to 10001 if left empty.

## `maxItemsPerUrl` (type: `integer`):

Maximum number of listings to collect for each keyword search.

## `proxyConfiguration` (type: `object`):

Proxy used to fetch offerup.com. RESIDENTIAL proxies are recommended

## Actor input object example

```json
{
  "keywords": [
    "laptop",
    "tv",
    "iphone"
  ],
  "zipCode": "10001",
  "maxItemsPerUrl": 100,
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ],
    "apifyProxyCountry": "US"
  }
}
```

# Actor output Schema

## `overview` (type: `string`):

No description

## `detailed` (type: `string`):

No description

## `by_keyword` (type: `string`):

No description

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "keywords": [
        "laptop",
        "tv",
        "iphone"
    ],
    "zipCode": "10001",
    "maxItemsPerUrl": 100,
    "proxyConfiguration": {
        "useApifyProxy": true,
        "apifyProxyGroups": [
            "RESIDENTIAL"
        ],
        "apifyProxyCountry": "US"
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("delectable_incubator/offerup-scraper-low-cost").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = {
    "keywords": [
        "laptop",
        "tv",
        "iphone",
    ],
    "zipCode": "10001",
    "maxItemsPerUrl": 100,
    "proxyConfiguration": {
        "useApifyProxy": True,
        "apifyProxyGroups": ["RESIDENTIAL"],
        "apifyProxyCountry": "US",
    },
}

# Run the Actor and wait for it to finish
run = client.actor("delectable_incubator/offerup-scraper-low-cost").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print(f"💾 Check your data here: https://console.apify.com/storage/datasets/{run.default_dataset_id}")
for item in client.dataset(run.default_dataset_id).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "keywords": [
    "laptop",
    "tv",
    "iphone"
  ],
  "zipCode": "10001",
  "maxItemsPerUrl": 100,
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ],
    "apifyProxyCountry": "US"
  }
}' |
apify call delectable_incubator/offerup-scraper-low-cost --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,delectable_incubator/offerup-scraper-low-cost"
        }
    }
}

```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/9eaYGnmEU6C221Cnb/builds/DxhzIqlaw5MmDbuAi/openapi.json
