# eBay Seller Feedback Scraper (`piotrv1001/ebay-seller-feedback-scraper`) Actor

Collect eBay seller feedback from the US, UK and Germany: ratings, comments, buyer context, item prices, seller replies and photos. Filter complaints, exclude automated feedback and monitor reputation with seller summaries and incremental collection.

- **URL**: https://apify.com/piotrv1001/ebay-seller-feedback-scraper.md
- **Developed by:** [FalconScrape](https://apify.com/piotrv1001) (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

from $1.00 / 1,000 feedback records

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.

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

## What's an Apify Actor?

An Actor is a serverless cloud program that runs on the Apify platform. It has two run modes.
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.

Apify vocabulary and the platform model are defined once, in the agent quickstart at https://apify.com/agents.md.

## 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.

Do not guess an integration path. Every one of them is in the agent quickstart at https://apify.com/agents.md: the Apify MCP server, Agent Skills with the Apify CLI, the JavaScript and Python clients, the REST API, and the account-free path for an agent with no human to sign in. It also carries the rule on stating cost before the first paid run.

For examples already wired to this Actor's own input schema, see the [API](#api) section below.

Each client library has reference documentation the quickstart does not restate: [JavaScript/TypeScript](https://docs.apify.com/api/client/js/docs.md) (`npm install apify-client`) and [Python](https://docs.apify.com/api/client/python/docs.md) (`pip install apify-client`).

# README

### eBay Seller Feedback Scraper

Collect **eBay seller feedback from the United States, United Kingdom and Germany** for reputation monitoring, complaint analysis and competitor research. Turn seller usernames or profile URLs into structured comments, positive/neutral/negative ratings, item details, buyer context, seller replies and photo URLs.

**Automated feedback is excluded by default**, helping you focus on comments written by customers. You can include it when you need a broader view of the seller's feedback. Seller reputation summaries are included at no extra feedback charge.

Need to find listings or collect product details first? Start with the [eBay Listings Scraper](https://apify.com/piotrv1001/ebay-listings-scraper), then bring seller usernames here to analyze their customer feedback.

### Features

- **Target complaints:** filter positive, neutral or negative feedback and select a time period.
- **Seller responses:** capture available replies and follow-ups alongside the original entry.
- **Purchase context:** item title, ID, link, displayed price, masked buyer name and verified-purchase badge where available.
- **Photos:** preview URL and photo count, with optional full photo galleries.
- **Reputation summaries:** feedback score, positive-feedback percentage text, member history, rating counts and detailed seller ratings.
- **Monitoring:** newest-first collection and optional stopping at feedback IDs from a previous run.
- **Deduplication:** each seller-feedback entry is saved and charged once per run, including after a restart.
- **Exports and automation:** download JSON, CSV, Excel or HTML; use the Apify API, schedules and integrations.

### How it works

1. Enter seller usernames or eBay `/usr/` or `/fdbk/feedback_profile/` URLs.
2. Choose a maximum number of records. The default is **50** across the run.
3. Optionally select a rating, period or item search, and enable full photos.
4. Run the Actor. Open **Feedback records** for the dataset and **Seller summaries and run status** for reputation data and completion details.

```json
{
  "sellers": ["discountcomputerdepot"],
  "site": "US",
  "maxItems": 50,
  "sort": "newest",
  "rating": "all",
  "includeAutomated": false,
  "includePhotos": false
}
```

### Input

| Field                  | Default                   | Purpose                                                                                                                             |
| ---------------------- | ------------------------- | ----------------------------------------------------------------------------------------------------------------------------------- |
| `sellers`              | Example seller prefilled  | Seller usernames or supported profile URLs. Up to 500 inputs; duplicate usernames are collected once using the first supplied site. |
| `site`                 | `US`                      | Site for plain usernames: `US`, `UK` or `DE`. Profile URLs choose their own site.                                                   |
| `maxItems`             | `50`                      | Maximum unique records across all sellers, 1–100,000.                                                                               |
| `maxFeedbackPerSeller` | `1000`                    | Per-seller limit, 1–100,000. The global limit also applies.                                                                         |
| `sort`                 | `newest`                  | Newest first or `relevance`.                                                                                                        |
| `rating`               | `all`                     | `all`, `positive`, `neutral` or `negative`.                                                                                         |
| `period`               | `all`                     | `all`, `month`, `sixMonths` or `year`.                                                                                              |
| `includeAutomated`     | `false`                   | Include feedback automatically generated by eBay.                                                                                   |
| `includePhotos`        | `false`                   | Retrieve all available photo URLs. Slower when many entries have photos.                                                            |
| `search`               | Empty                     | Item title or ID. Cannot be combined with rating or period filters; the source searches the last five years.                        |
| `stopAtFeedbackIds`    | `[]`                      | Known numeric feedback IDs as strings. Requires newest-first order.                                                                 |
| `proxyConfiguration`   | Automatic Apify selection | Standard proxy settings.                                                                                                            |

Supported profile examples: `https://www.ebay.com/usr/discountcomputerdepot`, `https://www.ebay.co.uk/fdbk/feedback_profile/musicmagpie`, and `https://www.ebay.de/usr/medimops`. Store links (`/str/`), item links and search URLs are not accepted as seller inputs. Copy the seller's username or feedback profile link instead.

Sellers are processed in input order. A large first seller can consume the global limit; lower `maxFeedbackPerSeller` when you want to spread the allowance across several sellers. Available feedback can be smaller than any requested limit.

For monitoring, save recent feedback IDs and supply them on the next run. Each seller stops when it reaches any supplied ID, excluding that entry. Reordering and changes on eBay mean this is a monitoring convenience, not a guarantee that every new entry will be found.

### Sample output

Illustrative record:

```json
{
  "feedbackId": "2190000000024",
  "sellerUsername": "discountcomputerdepot",
  "site": "US",
  "rating": "positive",
  "comment": "Example feedback: item arrived as described.",
  "buyerDisplay": "a***b",
  "buyerFeedbackScore": 42,
  "isAutomated": false,
  "dateRange": "Past month",
  "itemId": "286059104623",
  "itemTitle": "Example desktop computer",
  "itemUrl": "https://www.ebay.com/itm/286059104623",
  "priceText": "US $199.99",
  "verifiedPurchase": true,
  "photoCount": 0,
  "photoPreviewUrl": null,
  "photos": [],
  "photoStatus": "not_requested",
  "replies": [],
  "sourceUrl": "https://www.ebay.com/fdbk/feedback_profile/discountcomputerdepot",
  "scrapedAt": "2026-09-18T09:00:00.000Z"
}
```

### Output fields and seller summaries

| Fields                                                   | Meaning                                                                          |
| -------------------------------------------------------- | -------------------------------------------------------------------------------- |
| `feedbackId`, `sellerUsername`, `site`                   | Feedback identity and requested marketplace.                                     |
| `rating`, `comment`, `isAutomated`                       | Seller transaction feedback, not product-review stars.                           |
| `buyerDisplay`, `buyerFeedbackScore`                     | Public masked buyer context and score, when supplied.                            |
| `dateRange`                                              | eBay's displayed date bucket. Exact dates are not invented.                      |
| `itemId`, `itemTitle`, `itemUrl`, `priceText`            | Transaction item context; prices retain their displayed currency and formatting. |
| `verifiedPurchase`                                       | `true` when eBay supplies the badge; `null` when unknown.                        |
| `photoCount`, `photoPreviewUrl`, `photos`, `photoStatus` | Available buyer photos and collection status.                                    |
| `replies`                                                | Nested reply/follow-up type, author, date range and comment.                     |
| `sourceUrl`, `scrapedAt`                                 | Profile link and time of collection.                                             |

The run summary is stored under **`RUN-SUMMARY`**. Each seller has its saved record count, stopping reason and, where available, an unbilled `summary` containing `feedbackScore`, `positiveFeedbackText`, `memberHistory`, `topRatedSeller`, `ratingCounts` and `detailedRatings`. Feedback score, rating counts and items sold are different measures; this Actor does not report lifetime sales or treat a feedback score as a count of transactions.

Photo statuses are `not_requested`, `no_photos`, `complete`, `partial` or `unavailable`. Photo files are not downloaded. URLs may expire or be removed. Videos are not included.

### Pricing

**$1 per 1,000 unique feedback records — $0.001 per saved record.**

| Event                        | Price per record | Price per 1,000 |
| ---------------------------- | ---------------- | --------------- |
| Feedback record (`feedback`) | $0.001           | $1.00           |

A 50-record run costs $0.05 in feedback charges. Replies, available photo galleries and seller summaries are included. Duplicate entries, retries and failed lookups do not trigger feedback charges. Control spending with the result limits and Apify's maximum charge setting; consult the pricing panel for any additional platform charges.

### Coverage and completion

Only public seller-received feedback is collected. The default excludes automated entries, so the result count can be much smaller than a seller's headline total. Buyer names stay masked, dates stay approximate, missing fields remain null or empty, and text stays in the language returned by eBay.

**Complete history is not guaranteed.** Advertised totals and last-page counts can exceed the feedback currently accessible. Site changes, removed entries and source limits can also affect collection.

| Run-summary status             | Meaning                                                                                                       |
| ------------------------------ | ------------------------------------------------------------------------------------------------------------- |
| `max_items_reached`            | Global result limit reached.                                                                                  |
| `seller_limit_reached`         | Per-seller limit reached.                                                                                     |
| `budget_reached`               | Feedback-charge allowance reached.                                                                            |
| `known_feedback_reached`       | A supplied known ID was reached.                                                                              |
| `available_feedback_exhausted` | The selected source collection ended or returned empty after retries. This does not prove a complete history. |
| `source_limited`               | The source repeated or clamped pages.                                                                         |
| `request_limit_reached`        | The run's request safety allowance was used.                                                                  |
| `partial` / `failed`           | A retrieval or validation problem prevented completion. Saved results remain available.                       |
| `not_started`                  | The seller has not yet been processed.                                                                        |

An unavailable summary, incomplete requested photo galleries, request-limit stop or retrieval failure marks the run as failed so automated workflows can detect incomplete work. Already saved feedback remains available. Ordinary item, seller and billing limits do not mark the run as failed.

### Use cases and support

Track recurring shipping or item-condition complaints, compare competitor reputation, inspect seller replies, and monitor fresh customer comments. No eBay account is required. Use public data responsibly and follow applicable terms and laws. For problems or feature requests, open the Actor's Issues tab with your input and run link.

### Related Actor

Use the [eBay Listings Scraper](https://apify.com/piotrv1001/ebay-listings-scraper) to discover listings and collect product details, then use seller usernames here to analyze customer feedback.

# Actor input Schema

## `sellers` (type: `array`):

eBay seller usernames or US, UK or German /usr/ and feedback profile URLs. Store and item URLs are not supported. Duplicate usernames are collected once.

## `site` (type: `string`):

Profile URLs select their own site. This setting applies to plain usernames.

## `maxItems` (type: `integer`):

Global maximum of unique feedback records saved across all sellers.

## `maxFeedbackPerSeller` (type: `integer`):

Per-seller cap. Both this cap and the global maximum apply.

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

Newest first is suitable for monitoring. Dates remain approximate ranges.

## `rating` (type: `string`):

Filter by feedback sentiment. These are seller transaction ratings, not product review stars.

## `period` (type: `string`):

Use the source period filter. Complete historical coverage is not guaranteed.

## `includeAutomated` (type: `boolean`):

Off by default to focus on feedback written by customers. Turn on to include automated entries from eBay.

## `includePhotos` (type: `boolean`):

Collect available photo URLs for each feedback entry. Slower for photo-heavy results. Preview photo and count are always included when available.

## `search` (type: `string`):

Optional item title or item ID. Cannot be combined with rating or period filters. The source searches within the last five years.

## `stopAtFeedbackIds` (type: `array`):

Optional numeric feedback IDs saved from a previous run. Stop each seller when a matching entry is reached; exclude that entry. Requires newest-first order.

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

Standard Apify proxy configuration.

## Actor input object example

```json
{
  "sellers": [
    "discountcomputerdepot"
  ],
  "site": "US",
  "maxItems": 50,
  "maxFeedbackPerSeller": 1000,
  "sort": "newest",
  "rating": "all",
  "period": "all",
  "includeAutomated": false,
  "includePhotos": false,
  "search": "",
  "stopAtFeedbackIds": [],
  "proxyConfiguration": {
    "useApifyProxy": true
  }
}
```

# Actor output Schema

## `feedback` (type: `string`):

No description

## `summary` (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 = {
    "sellers": [
        "discountcomputerdepot"
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("piotrv1001/ebay-seller-feedback-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 = { "sellers": ["discountcomputerdepot"] }

# Run the Actor and wait for it to finish
run = client.actor("piotrv1001/ebay-seller-feedback-scraper").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 '{
  "sellers": [
    "discountcomputerdepot"
  ]
}' |
apify call piotrv1001/ebay-seller-feedback-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,piotrv1001/ebay-seller-feedback-scraper"
        }
    }
}
```

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/DtboCmOGmmOWiP21H/builds/rQx9osbm5xKCRHWD1/openapi.json
