eBay Reviews API

Fetch eBay reviews as clean, normalized JSON. Daily refresh, full history, rating tracking and signed webhooks on every new review - for your own profiles or any competitor's.

One JSON schemaDaily refreshSigned webhooksRating historyAI sentiment50+ platforms

Connect a eBay profile

One call connects a profile - the first crawl collects its review history in the background:

POSTAdd a profile
curl -u :YOUR_API_KEY \
  -X POST https://api.repuso.com/public/v1/profiles/add \
  -H 'Content-Type: application/json' \
  -d '{"type": "ebay", "url": "https://www.ebay.com/usr/musicmagpie"}'
Accepted URL formats
https://www.ebay.com/usr/musicmagpie
https://www.ebay.com/str/musicmagpie
https://www.ebay.com/fdbk/feedback_profile/musicmagpie

Monitoring starts immediately: the first crawl pulls the full history, then it refreshes automatically every day.

Every request for a eBay profile

Once a profile is monitored, this is the full toolkit - the same calls the console shows for each profile. Copy, add your API key, run.

GETProfile details
curl -u :YOUR_API_KEY https://api.repuso.com/public/v1/profiles/get/512
Response
{
  "id": 512,
  "type": "ebay",
  "label": "eBay",
  "name": "eBay - Downtown",
  "score": 4.7,
  "reviews": 1284,
  "group": null
}
GETAll reviews of this profile
curl -u :YOUR_API_KEY 'https://api.repuso.com/public/v1/reviews/get?channels=512'
Response
{
  "count": 1284,
  "items": [{
    "id": 90514,
    "type": "ebay",
    "rating_value": "5.00",
    "rating_scale": 5,
    "sentiment": "positive",
    "text": "Great service - highly recommended!",
    "from_name": "Jane Cooper",
    "posted_on": "2026-08-01 14:22:00"
  }],
  "next_before_ts": 1779310800,
  "next_before_id": 90514
}
GETFilter reviews - rating, date, keyword
curl -u :YOUR_API_KEY 'https://api.repuso.com/public/v1/reviews/get?rating=4,5&since=2026-01-01&keyword=delivery'
Response
{
  "count": 37,
  "items": [{
    "id": 90822,
    "rating_value": "5.00",
    "sentiment": "positive",
    "text": "Delivery was quick and the driver was polite.",
    "posted_on": "2026-06-20 18:03:00"
  }]
}
GETRating history (90 days)
curl -u :YOUR_API_KEY 'https://api.repuso.com/public/v1/profiles/rating_history/512?days=90'
Response
{
  "history": [
    { "date": "2026-06-14", "score": 4.8, "reviews": 112, "estimated": true },
    { "date": "2026-08-01", "score": 4.7, "reviews": 1284 }
  ]
}
GETAI review summary
curl -u :YOUR_API_KEY https://api.repuso.com/public/v1/profiles/ai/summary/512
Response
{
  "summary": "Customers consistently praise the fast, friendly service and reliable quality...",
  "language": "en",
  "based_on_reviews": 100,
  "generated_on": "2026-08-01T12:00:00Z"
}
GETAI sentiment & insights
curl -u :YOUR_API_KEY https://api.repuso.com/public/v1/profiles/ai/insights/512
Response
{
  "sentiment": { "positive": 982, "neutral": 45, "negative": 34, "total": 1061, "positive_pct": 93 },
  "strengths": ["Fast, friendly service", "Consistent quality"],
  "improvements": [{ "text": "Reduce wait times at peak hours", "severity": "recurring" }],
  "generated_on": "2026-08-01T12:00:00Z"
}
GETTranslate reviews on the fly
curl -u :YOUR_API_KEY 'https://api.repuso.com/public/v1/reviews/get?translate=en'
Response
{
  "count": 1284,
  "items": [{
    "id": 90514,
    "text": "We had a wonderful time, the kids loved it!",
    "text_original": "Nous avons passe un moment merveilleux...",
    "text_language": "en",
    "rating_value": "5.00"
  }]
}
POSTQueue a re-crawl
curl -u :YOUR_API_KEY -X POST https://api.repuso.com/public/v1/profiles/refresh/512 -H 'Content-Type: application/json' -d '{}'
Response
{ "success": true, "crawl_queued": true }

Plain-text reviews (no HTML), one schema for every platform. tags are your own labels: set them with PUT /reviews/update/{id} and filter with reviews/get?tags=. Full parameter list in the API reference.

Not just eBay - every platform in one request

Reviews arrive normalized to one schema, so you don't query per platform. Drop the profiles filter and the same /reviews/get endpoint returns reviews from every profile you monitor, across all 50+ platforms, in a single list - eBay, Google, Trustpilot and the rest, together. Each item carries a platform field so you know where it came from.

GETAll reviews, every platform, one call
curl -u :YOUR_API_KEY \
  'https://api.repuso.com/public/v1/reviews/get?limit=50'
Response
{
  "count": 8452,
  "items": [
    { "id": 90514, "platform": "google", "rating_value": "5.00", "sentiment": "positive", "text": "Fast and friendly." },
    { "id": 90515, "platform": "ebay", "rating_value": "4.00", "sentiment": "positive", "text": "Great value, would use again." },
    { "id": 90516, "platform": "trustpilot", "rating_value": "5.00", "sentiment": "positive", "text": "Excellent support." }
  ],
  "next_before_ts": 1779310800,
  "next_before_id": 90514
}

Ask your AI about your eBay reviews

The API doubles as an MCP server, so AI tools can manage your eBay monitoring conversationally: Claude and ChatGPT connect as a plugin with an OAuth sign-in (no key to paste), and Claude Code, Cursor, VS Code and other MCP clients connect with your API key. 18 tools cover profiles, reviews, AI insights and summaries, translation, rating reports and webhooks.

> add our eBay profile and run AI insights - what do customers praise, what should we fix first?

Get pushed on every new eBay review

No polling loop - register an endpoint once and every new review arrives as a signed webhook:

curl -u :YOUR_API_KEY \
  -X POST https://api.repuso.com/public/v1/webhooks/add \
  -H 'Content-Type: application/json' \
  -d '{"url": "https://yourapp.com/hooks/repuso", "events": ["review.created", "rating.changed"]}'
Example delivery
POST https://yourapp.com/hooks/repuso
X-Repuso-Signature: t=1754491052,v1=9f2b...

{
  "id": "evt_293060",
  "event": "review.created",
  "occurred_on": "2026-08-06T14:37:32Z",
  "data": {
    "from_name": "Jane Cooper",
    "rating_value": "5",
    "text": "Great service - highly recommended!",
    "profile_id": 512,
    "platform": "ebay"
  }
}

A managed alternative to eBay review scraping

Building a eBay review scraper means headless browsers, rotating proxies, CAPTCHAs and markup that changes without notice - and it breaks the week you stop babysitting it. Repuso runs and maintains the crawlers for you: you call a stable JSON API and the scraping, parsing and deduplication stay our problem. Reviews arrive normalized, with author, rating, date and full text, refreshed daily.

Whether you are migrating off a homegrown eBay scraper, exporting reviews for analysis, feeding an AI pipeline or tracking competitors, the same two API calls above replace the whole scraping stack - and signed webhooks push every new review to you, no polling loop required.

No code required to get started

Profiles can be added and managed straight from the developer console - search a business by name or paste its eBay URL, and monitoring starts within minutes. The API key, usage, webhooks and billing live there too, so the API is optional until you want the automation.

What you get

Daily refreshNew eBay reviews appear automatically - no polling logic.
Signed webhooksreview.created + rating.changed pushed to your endpoint, HMAC-signed.
Rating historyOfficial score + count tracked daily, even with no new reviews.
AI sentiment & insightsSentiment breakdown plus the strengths and opportunities from reviews.
On-the-fly translationRead every eBay review in your app's language with translate=xx.
Competitor monitoringAny public profile - yours or a rival's. No ownership needed.

Per-profile pricing from $1.99/profile/month with volume rates - 1,000 pooled requests per profile, overage $1/1,000.

Monitor eBay reviews in minutes

10-day full trial - every feature, no card needed.

Get your API key

More platforms

Facebook Reviews API · Instagram Reviews API · App Store Reviews API · Google Play Reviews API · Google Reviews API · TripAdvisor Reviews API · Capterra Reviews API · GetApp Reviews API · G2 Reviews API · Thumbtack Reviews API · Trustpilot Reviews API · Yellow Pages Reviews API

See all 50+ supported platforms →