eBay API — Listings, Price Checks & Seller Feedback | FetchLayer
Unofficial Third-party API
6 endpoints live

Watch 100 eBay listings.
In a single call.

100 listings per price check Seller feedback & reviews US prices & shipping AI-ready JSON

Send up to 100 item numbers and get every listing's current price, shipping and status back in a single call — ended and removed listings reported, never dropped. The same key searches live listings and reads the seller feedback and product reviews behind them, as a US buyer sees them. No eBay developer account, no app keys, no OAuth.

Free tier included No credit card No scraper maintenance

Trusted by developers shipping real products.

246,975 served today

POST /ebay/price-check
200 OK

Request

$ curl -X POST \
  https://api.fetchlayer.dev/ebay/price-check \
  -H "Authorization: Bearer ss-your-key" \
  -H "Content-Type: application/json" \
  -d '{"listings":["334140575100","326634081605"]}'

Response

{
  "mode": "fast",
  "items": [{
    "itemId": "334140575100",
    "status": "active",
    "price": { "amount": 11.99, "currency": "USD" },
    "buyingFormat": "fixed_price",
    "freeShipping": true
  }],
  "activeCount": 2, "endedCount": 0,
  "notes": []
}

Used by developers at

Individual developers or teams — not official partnerships

Built for feedback workflows

Fetch the public signal. Use it wherever your team works.

A price check built for monitoring

Up to 100 listings per request, answered 50 at a time at about 5KB a listing. Each comes back with its price in US dollars, price range for variations, bids, shipping cost and status — so a watchlist of hundreds is a handful of requests, not hundreds of page loads.

Nothing goes silently missing

A listing that has ended is reported as ended with its final price; one that was removed as not_found. Every item you ask for is answered, so a dropped listing can never read as a price change.

Seller feedback, in detail

Feedback score, positive rate, 1-, 6- and 12-month counts, detailed seller ratings and the comments themselves — with the item and price each was left on. Switch off eBay’s automatic on-time entries to read only what buyers wrote.

Product reviews and aspect scores

Buyer reviews of eBay catalogue products with the star distribution, aspect agreement such as “Good sound quality: 100%”, the condition each reviewer bought and who sold it to them.

Priced for a US buyer

Prices are US dollars and shipping is quoted to the United States on every call, wherever the request comes from. listingPrice keeps the seller’s own currency, so exchange-rate drift is never mistaken for a repricing.

Search the way buyers do

Keyword, category or seller, filtered by condition, buying format, price range, free shipping or returns, and sorted by price plus shipping, ending soonest or newly listed.

AI-ready JSON

Hand listings, prices, feedback comments and reviews to an LLM or an MCP agent to vet a seller, shortlist deals or write the pricing brief — no HTML parsing, no eBay keyset to manage.

FetchLayer Research Chat

Price a whole eBay niche with AI—then export it to CSV.

Prefer not to write code? Tell FetchLayer Research Chat what you are hunting for, and it searches live listings, checks the sellers behind the best prices, and hands you a clean file for your sourcing sheet or repricing model.

  • Ask questions in plain English
  • Analyze themes, sentiment, and pain points
  • Download the structured results as CSV or JSON
Research eBay in Chat

No code or setup required · Uses your FetchLayer credits

eBay research

Search eBay for new Steam Deck OLED listings under $450, drop sellers under 98% positive feedback, then export the rest as CSV.

Y

I read 180 live listings and kept 64 in range. Nine were dropped for sellers under 98% positive; the remaining 55 are sorted by price plus shipping, with condition, seller score and item number ready for a price check.

ebay-steam-deck-oled.csv

55 listings · 11 columns · ready to download

CSV

From raw feedback to action

One request is the start of the workflow.

Store the structured response, run it on a schedule, pass it to an LLM, or feed it into the system your team already uses. FetchLayer handles retrieval so you can focus on the outcome.

  1. 01

    Find the listings

    Search by keyword, category or seller — or paste links into /resolve-url for free — and keep the item numbers you care about.

  2. 02

    Check prices on a schedule

    Send the whole watchlist to /price-check, 100 at a time. Store each price with its status and diff it against the last run.

  3. 03

    Check who you are dealing with

    Pull seller feedback and product reviews before you buy, source or undercut, and hand the lot to an agent to summarise.

MCP & agents

Live

Your AI already knows how to use this.

Use the eBay endpoint directly from your MCP-compatible agent. Ask it to retrieve public feedback, identify patterns, and turn the result into a useful brief without writing integration glue.

1
Pick your editor
2
Agent discovers 6 tools
3
Query any platform instantly
connect your agent ~30s

Pick your editor and we hand you the config with your key already in it — no JSON to hand-edit, no wrapper code.

Get your free API key

Free tier · no credit card · any MCP host

New chat fetchlayer connected

Check the current prices of these 40 eBay listings, flag any that dropped more than 10% since last week, and tell me which sellers have negative feedback in the last month.

Used fetchlayer.ebay_price_check

Checked all 40 in one request: 37 active, 3 ended. Six listings are down more than 10%, the largest a 22% cut on a refurbished OLED. Two of those sellers picked up negative feedback last month, both about shipping delays.

Ask a follow-up…

Works with every MCP-compatible tool

Cursor
Claude
VS Code
Windsurf
Cline
Hermes
OpenClaw
Kiro
No wrapper code
All 6 endpoints exposed as tools
Official & maintained
Free to install

Use cases

What teams build with eBay data.

Same API, endless applications. Here is what teams ship with public eBay listings, prices and feedback.

01

Price monitoring

Re-check up to 100 listings per call on a schedule. Ended and removed listings are reported, never silently dropped.

pricingmonitoringcron
02

AI agent context

Give Claude, Codex, or your MCP agent live eBay listings, prices and seller ratings instead of a pasted search page.

llmagentsmcp
03

Seller vetting

Read a seller’s feedback score, 12-month rating trend, detailed ratings and the negative comments before you buy or partner.

sellersfeedbacktrust
04

Reseller sourcing

Search new listings by condition, price band and buying format to catch underpriced stock the moment it is listed.

sourcingdealsalerts
05

Product sentiment

Pull buyer reviews of a catalogue product with star distribution and aspect scores like “Good sound quality”.

reviewssentimentresearch
06

Listing enrichment

Fill product records with item specifics, brand, MPN, GTIN, category path and full-size images from any listing.

catalogueenrichmentexport

Compare approaches

Spend time on the insight, not the collection layer.

What you needFetchLayerOfficial APIBuild it yourself
No developer program or app keysDeveloper account + OAuth app tokenYou build it
100 listings priced in one requestYour batching codeOne page per listing
Seller feedback commentsNot in the Browse APIYou parse it
Product reviews & aspect scoresNot in the Browse APIYou parse it
Ready for AI and MCP workflowsYour integrationYour integration

FetchLayer provides access to publicly available data. It is not affiliated with, endorsed by, or sponsored by the platform.

Pricing

Start free. Scale when ready.

Pay per request with no commitment, or lock in a flat monthly rate with built-in savings.

Free plan — 30 requests

Verify responses, inspect the API, no credit card required.

Try free

Pay as you go

$1.99

per 1,000 requests

$0.00199 per request · credits never expire

How credits work — no multipliers

One credit = one API call, on every endpoint and platform. No matter how many results come back, you pay for the call, not the output size. Most scraping APIs charge multipliers of 5x, 25x, even 75x per call depending on the target — here it's always 1.

  • No multipliers — 1 request = 1 credit
  • No monthly commitment
  • Credits never expire
  • Same API & MCP access as subscribers
  • ∞ req/min, ∞ API keys
Get API key

Expiry

Credits stay until you use them. No monthly reset, no pressure to hit a quota.

0

Commitments

No subscription, no contract, no minimums. Start, pause, or scale whenever.

100%

Access

Every endpoint and MCP included. Not a limited tier — same data as any subscriber.

API reference

Every parameter, documented.

All requests are POST with a JSON body and Bearer auth header.

POST /ebay/price-check

The lightweight way to monitor prices. Send up to 100 item numbers and get each listing’s current price in US dollars, price range, bids, shipping cost to the US and status back. Ended listings come back as ended with their final price, removed ones as not_found — never silently dropped.

listings* string[] 1-100 item numbers or listing URLs
mode string 'fast' (default) answers up to 50 together; 'exact' adds the seller's currency, availability and quantity
POST /ebay/search-listings

Live listings by keyword, category or seller, as a US buyer sees them: price, original price, condition, auction bids and time left, shipping cost, where it ships from, units sold, watchers and the seller’s rating. Filter and sort, walk pages, or resume from a cursor.

query string Keywords. At least one of query, categoryId or seller is required
categoryId string Numeric eBay category id, e.g. 112529 for headphones
seller string Restrict to one seller's listings
condition string[] Any of new, open_box, refurbished, used, for_parts
buyingFormat string 'all' | 'auction' | 'buy_it_now'
minPrice / maxPrice number Price range in US dollars
sort string 'best_match' | 'price_lowest' | 'price_highest' | 'ending_soonest' | 'newly_listed'
limit number Maximum listings (max 1000). Defaults to 60, one page
POST /ebay/listing-details

One listing in full: price in US dollars and in the seller’s currency, exact quantity where stated, units sold, condition, seller with exact feedback score, shipping and returns, auction end time and reserve, item specifics, category path, images, brand, MPN and GTIN.

listing* string Item number or listing URL
POST /ebay/seller-feedback

A member’s feedback profile — score, positive rate, 1-, 6- and 12-month rating counts and detailed seller ratings — plus the individual comments, each with its rating, buyer, item and price.

seller* string Username, or a profile or feedback URL
rating string 'all' | 'positive' | 'neutral' | 'negative'
includeAutomated boolean Include eBay's automatic on-time-delivery feedback. Defaults to true
limit number Maximum entries (max 500). Defaults to 25
POST /ebay/product-reviews

Buyer reviews of an eBay catalogue product: average rating, star distribution, aspect scores, and every review with its title, text, author, date, verified-purchase flag, condition bought and seller.

product* string Catalogue product id (ePID), or a product or reviews URL
limit number Maximum reviews (max 500). Defaults to 10
POST /ebay/resolve-url

Parse any eBay URL — listing, search, category, seller, store or product — into the item number, filters, username or product id the other endpoints take. Makes no request to eBay and never consumes a credit.

url* string Any eBay URL

Fields marked * are required. Full API reference →

FAQ

Common questions.

Do I need an eBay developer account or app keys?

No. There is no developer program application, no keyset, no OAuth application token and no eBay sign-in. Your FetchLayer key is the only credential, and it reads what eBay publishes to any visitor: live listings, prices, shipping, seller feedback and product reviews. FetchLayer is not affiliated with, endorsed by, or sponsored by eBay.

How many listings can one price check cover?

Up to 100 item numbers or listing URLs per request. In the default fast mode listings are answered up to 50 at a time, at roughly 5KB a listing, so re-checking a watchlist costs little more than checking one listing — and the whole call is one request against your plan. Exact mode reads each listing on its own and adds the seller’s own currency, availability and the exact quantity available.

What happens to a listing that has ended?

It still comes back. Every listing you ask for is answered: an active one with its current price, one that has ended as status ended with its final price, and one that no longer exists as not_found. A listing is never silently missing from a price check, so a shrinking result can never be mistaken for a price change.

Can I get sold or completed prices?

No. eBay shows sold and completed listings, along with bid and purchase history, only to signed-in members, and this API reads only what is public. Every price it returns is a current asking price — the right input for monitoring a listing or a competitor, not for researching what things eventually sold for.

Which currency and country are prices in?

Prices and shipping are pinned to a US buyer. price is always US dollars, and shipping is quoted for delivery to the United States. A listing priced in another currency is converted at eBay’s current rate, so its dollar price can move without the seller changing anything; listingPrice on /listing-details and exact price checks carries the seller’s own figure, which is what to compare to tell a real price change from exchange-rate drift.

Does it include seller feedback and reviews?

Yes, both. /seller-feedback returns a member’s feedback score, positive percentage, positive, neutral and negative counts for the last month, six months and twelve months, detailed seller ratings, and the individual comments with the item and price they were left on. /product-reviews returns buyer reviews of an eBay catalogue product with the star distribution and aspect scores. eBay dates feedback only as “Past month” and similar, so that is what you get — never an invented exact date.

Why does a continued search sometimes repeat listings?

Because eBay reorders best-match results between identical requests. A cursor continuation can therefore return a few listings you already have, and the response says so in notes. A listing never repeats within one response. De-duplicate on itemId, or sort by price, which is stable.

What should I retry?

Retry a 502 or 503 — eBay failed or was temporarily unavailable, and the next attempt usually succeeds. Do not retry a 400, which names the field to fix, or a 404, which means the listing, member or product does not exist. A search that matches nothing is a normal 200 with an empty list, never an error. Every response also carries a notes array with caveats worth reading: converted prices, a walk that stopped early, a continuation that may repeat.

How does billing work?

One API request equals one credit, the same as every other FetchLayer platform. On /price-check each listing priced counts as one request, so 100 listings bill as 100; a listing that fails on our side is not billed. On search, seller feedback and product reviews each page walked counts as one request, so pages: 5 bills as five. Parsing a URL with /resolve-url makes no request to eBay and is free. eBay is in Beta while coverage expands, billed at half credit.

Start pulling eBay marketplace data today.

Get a free API key, make your first request, and put public feedback to work in your own product or research workflow.