# Facebook Marketplace Scraper (`novashieldai/facebook-marketplace-scraper`) Actor

Scrape Facebook Marketplace listings, search results, seller profiles, and categories. Extract prices, images, locations, conditions, and seller information.

- **URL**: https://apify.com/novashieldai/facebook-marketplace-scraper.md
- **Developed by:** [Ali haydar Karadaş](https://apify.com/novashieldai) (community)
- **Categories:** E-commerce, Lead generation
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

Pay per usage

This Actor is paid per platform usage. The Actor is free to use, and you only pay for the Apify platform usage, which gets cheaper the higher subscription plan you have.

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

## What's an Apify Actor?

Actors are a software tools running on the Apify platform, for all kinds of web data extraction and automation use cases.
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.

In JavaScript/TypeScript projects, use official [JavaScript/TypeScript client](https://docs.apify.com/api/client/js.md):

```bash
npm install apify-client
```

In Python projects, use official [Python client library](https://docs.apify.com/api/client/python.md):

```bash
pip install apify-client
```

In shell scripts, use [Apify CLI](https://docs.apify.com/cli/docs.md):

````bash
# MacOS / Linux
curl -fsSL https://apify.com/install-cli.sh | bash
# Windows
irm https://apify.com/install-cli.ps1 | iex
```bash

In AI frameworks, you might use the [Apify MCP server](https://docs.apify.com/platform/integrations/mcp.md).

If your project is in a different language, use 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

## Facebook Marketplace Scraper

Scrape Facebook Marketplace listings, seller profiles, and category data with full location and price filtering. This is the most complete Marketplace scraper on Apify -- it handles search, listing details, seller profiles, and category browsing in one actor.

### What does Facebook Marketplace Scraper do?

This actor extracts structured data from Facebook Marketplace across four different modes, giving you everything you need for price monitoring, market research, or competitive analysis.

**Search** mode finds listings by keyword with full filtering: location, price range, item condition, sort order, and search radius. **Listing** mode takes a listing ID or URL and returns the full details including description, seller info, view count, save count, and shipping availability. **Seller** mode pulls a seller's profile with their rating, verification status, join date, and all active listings. **Category** mode lets you browse entire Marketplace categories (vehicles, electronics, property, apparel, etc.) in a specific location.

Every listing comes with price, condition, images, location, seller info, and posting date. The actor handles pagination automatically, so you can pull large result sets across multiple pages.

### What data do you get?

- Listing title, price, currency, and condition (new/used/refurbished)
- Location and posting date
- Primary image URL plus all additional image URLs
- Seller name, seller ID, and profile URL
- Shipping availability and category tags
- Full listing description (in detail mode)
- Seller join date, location, verification status, and rating
- View count and save/bookmark count
- Sold and pending status flags
- Similar listings count

### Who is this for?

- **E-commerce sellers** monitoring competitor pricing and demand in local markets
- **Market researchers** tracking pricing trends for specific product categories
- **Resellers** finding deals and arbitrage opportunities across locations
- **Real estate professionals** monitoring rental and property listings
- **Data analysts** building local marketplace datasets for price analysis

### How to use it

1. Open the actor in Apify Console and select your mode (search, listing, seller, or category).
2. Enter a search query, listing ID, seller ID, or category depending on the mode.
3. Set location, price range, condition filter, and sort order as needed.
4. Click Start and wait for results.
5. Export your data as JSON, CSV, or Excel from the Dataset tab.

### Input parameters

| Parameter | Type | Default | Description |
|-----------|------|---------|-------------|
| mode | string | search | Mode: search, listing, seller, or category |
| query | string | - | Search keywords (e.g., "iphone 15") |
| location | string | - | City or ZIP code for location-based search |
| category | string | - | Category: vehicles, property, apparel, electronics, entertainment, family, hobbies, home, free_stuff |
| listingId | string | - | Listing ID or URL for listing mode |
| sellerId | string | - | Seller ID or URL for seller mode |
| sort | string | - | Sort: best_match, price_low_to_high, price_high_to_low, newest, nearest |
| condition | string | - | Filter: new, used_like_new, used_good, used_fair, refurbished |
| minPrice | integer | - | Minimum price filter |
| maxPrice | integer | - | Maximum price filter |
| radius | integer | 40 | Search radius in miles (1-500) |
| limit | integer | 24 | Max results (1-100) |
| page | integer | 1 | Page number (1-10) |

### Sample output

```json
{
  "id": "1084729361052",
  "title": "iPhone 15 Pro Max 256GB - Excellent Condition",
  "price": 899.0,
  "currency": "USD",
  "location": "Brooklyn, NY",
  "image_url": "https://scontent.xx.fbcdn.net/v/t45.5328-4/example.jpg",
  "image_urls": [
    "https://scontent.xx.fbcdn.net/v/t45.5328-4/example1.jpg",
    "https://scontent.xx.fbcdn.net/v/t45.5328-4/example2.jpg"
  ],
  "seller_name": "Mike's Tech",
  "seller_id": "100042839201",
  "condition": "Used - Like New",
  "listing_url": "https://www.facebook.com/marketplace/item/1084729361052",
  "posted_date": "2 days ago",
  "is_shipping_available": true,
  "category": "Electronics"
}
````

### How much does it cost?

This actor costs **$0.004 per result**. That's $4 for 1,000 listings. Apify gives every account $5 in free monthly credits, so you can scrape over 1,200 listings without paying a dime.

### Common questions

**Do I need a Facebook account to use this?**
No. The actor scrapes publicly accessible Marketplace data. No login or Facebook credentials are needed.

**Can I search by location and radius?**
Yes. Enter a city name or ZIP code in the location field and set the radius (1 to 500 miles). The actor will return listings within that area.

**How do I get full listing details?**
Use "listing" mode with the listing ID or full Marketplace URL. You'll get the complete description, seller profile info, view/save counts, and all images.

### Contact & Custom Solutions

Need a custom scraper, higher volume, or a specific integration? We're here to help.

If anything isn't working right or you need support, don't hesitate to reach out.

- Telegram: [t.me/novashield\_dev](https://t.me/novashield_dev)
- Email: novashield.dev@gmail.com

# Actor input Schema

## `mode` (type: `string`):

Scraping mode: search listings, get listing details, get seller profile, or browse category

## `query` (type: `string`):

Search keywords (e.g., 'iphone 15', 'used car', 'furniture')

## `location` (type: `string`):

City or ZIP code for location-based search (e.g., 'New York', '90210')

## `category` (type: `string`):

Marketplace category to browse

## `listingId` (type: `string`):

Facebook Marketplace listing ID or full URL (for listing mode)

## `sellerId` (type: `string`):

Facebook seller profile ID or URL (for seller mode)

## `sort` (type: `string`):

Sort order for search results

## `condition` (type: `string`):

Filter by item condition

## `minPrice` (type: `integer`):

Minimum price filter

## `maxPrice` (type: `integer`):

Maximum price filter

## `radius` (type: `integer`):

Search radius in miles from location

## `limit` (type: `integer`):

Maximum number of results to return

## `page` (type: `integer`):

Page number for pagination

## Actor input object example

```json
{
  "mode": "search",
  "query": "iphone 15",
  "radius": 40,
  "limit": 24,
  "page": 1
}
```

# 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 = {
    "query": "iphone 15"
};

// Run the Actor and wait for it to finish
const run = await client.actor("novashieldai/facebook-marketplace-scraper").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 = { "query": "iphone 15" }

# Run the Actor and wait for it to finish
run = client.actor("novashieldai/facebook-marketplace-scraper").call(run_input=run_input)

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

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

```

## CLI example

```bash
echo '{
  "query": "iphone 15"
}' |
apify call novashieldai/facebook-marketplace-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=novashieldai/facebook-marketplace-scraper",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Facebook Marketplace Scraper",
        "description": "Scrape Facebook Marketplace listings, search results, seller profiles, and categories. Extract prices, images, locations, conditions, and seller information.",
        "version": "1.0",
        "x-build-id": "Ez9IiVq0oqE0jIHgO"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/novashieldai~facebook-marketplace-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-novashieldai-facebook-marketplace-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        },
        "/acts/novashieldai~facebook-marketplace-scraper/runs": {
            "post": {
                "operationId": "runs-sync-novashieldai-facebook-marketplace-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor and returns information about the initiated run in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/runsResponseSchema"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/acts/novashieldai~facebook-marketplace-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-novashieldai-facebook-marketplace-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        }
    },
    "components": {
        "schemas": {
            "inputSchema": {
                "type": "object",
                "properties": {
                    "mode": {
                        "title": "Mode",
                        "enum": [
                            "search",
                            "listing",
                            "seller",
                            "category"
                        ],
                        "type": "string",
                        "description": "Scraping mode: search listings, get listing details, get seller profile, or browse category",
                        "default": "search"
                    },
                    "query": {
                        "title": "Search Query",
                        "type": "string",
                        "description": "Search keywords (e.g., 'iphone 15', 'used car', 'furniture')"
                    },
                    "location": {
                        "title": "Location",
                        "type": "string",
                        "description": "City or ZIP code for location-based search (e.g., 'New York', '90210')"
                    },
                    "category": {
                        "title": "Category",
                        "enum": [
                            "vehicles",
                            "property",
                            "apparel",
                            "electronics",
                            "entertainment",
                            "family",
                            "hobbies",
                            "home",
                            "free_stuff"
                        ],
                        "type": "string",
                        "description": "Marketplace category to browse"
                    },
                    "listingId": {
                        "title": "Listing ID or URL",
                        "type": "string",
                        "description": "Facebook Marketplace listing ID or full URL (for listing mode)"
                    },
                    "sellerId": {
                        "title": "Seller ID or URL",
                        "type": "string",
                        "description": "Facebook seller profile ID or URL (for seller mode)"
                    },
                    "sort": {
                        "title": "Sort By",
                        "enum": [
                            "best_match",
                            "price_low_to_high",
                            "price_high_to_low",
                            "newest",
                            "nearest"
                        ],
                        "type": "string",
                        "description": "Sort order for search results"
                    },
                    "condition": {
                        "title": "Item Condition",
                        "enum": [
                            "new",
                            "used_like_new",
                            "used_good",
                            "used_fair",
                            "refurbished"
                        ],
                        "type": "string",
                        "description": "Filter by item condition"
                    },
                    "minPrice": {
                        "title": "Minimum Price",
                        "minimum": 0,
                        "type": "integer",
                        "description": "Minimum price filter"
                    },
                    "maxPrice": {
                        "title": "Maximum Price",
                        "minimum": 0,
                        "type": "integer",
                        "description": "Maximum price filter"
                    },
                    "radius": {
                        "title": "Search Radius (miles)",
                        "minimum": 1,
                        "maximum": 500,
                        "type": "integer",
                        "description": "Search radius in miles from location",
                        "default": 40
                    },
                    "limit": {
                        "title": "Max Results",
                        "minimum": 1,
                        "maximum": 100,
                        "type": "integer",
                        "description": "Maximum number of results to return",
                        "default": 24
                    },
                    "page": {
                        "title": "Page Number",
                        "minimum": 1,
                        "maximum": 10,
                        "type": "integer",
                        "description": "Page number for pagination",
                        "default": 1
                    }
                }
            },
            "runsResponseSchema": {
                "type": "object",
                "properties": {
                    "data": {
                        "type": "object",
                        "properties": {
                            "id": {
                                "type": "string"
                            },
                            "actId": {
                                "type": "string"
                            },
                            "userId": {
                                "type": "string"
                            },
                            "startedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "finishedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "status": {
                                "type": "string",
                                "example": "READY"
                            },
                            "meta": {
                                "type": "object",
                                "properties": {
                                    "origin": {
                                        "type": "string",
                                        "example": "API"
                                    },
                                    "userAgent": {
                                        "type": "string"
                                    }
                                }
                            },
                            "stats": {
                                "type": "object",
                                "properties": {
                                    "inputBodyLen": {
                                        "type": "integer",
                                        "example": 2000
                                    },
                                    "rebootCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "restartCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "resurrectCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "computeUnits": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "options": {
                                "type": "object",
                                "properties": {
                                    "build": {
                                        "type": "string",
                                        "example": "latest"
                                    },
                                    "timeoutSecs": {
                                        "type": "integer",
                                        "example": 300
                                    },
                                    "memoryMbytes": {
                                        "type": "integer",
                                        "example": 1024
                                    },
                                    "diskMbytes": {
                                        "type": "integer",
                                        "example": 2048
                                    }
                                }
                            },
                            "buildId": {
                                "type": "string"
                            },
                            "defaultKeyValueStoreId": {
                                "type": "string"
                            },
                            "defaultDatasetId": {
                                "type": "string"
                            },
                            "defaultRequestQueueId": {
                                "type": "string"
                            },
                            "buildNumber": {
                                "type": "string",
                                "example": "1.0.0"
                            },
                            "containerUrl": {
                                "type": "string"
                            },
                            "usage": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "integer",
                                        "example": 1
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "usageTotalUsd": {
                                "type": "number",
                                "example": 0.00005
                            },
                            "usageUsd": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "number",
                                        "example": 0.00005
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
