eBay Web Scraper API: Extract Listing, Price & Seller Data

Paste any eBay search or listing URL and watch our eBay web scraper pull live data through a real browser: item number, price, condition, seller, shipping. An eBay listing scraper with reliable access to public web data and success-based billing - a failed request costs you $0.

Try These:
HTML
Download HTML
Click "Scrape it" or try a suggested search to see the real HTML here
Live preview
The real rendered page will appear here once a run completes
Curious how it works? Try scraping a URL above - or skip straight to a personal walkthrough:
Book a Demo

eBay Web Scraper API for Listing, Price and Seller Data

One eBay scraper API call returns the rendered listing page, item number to seller feedback, on the same real-browser engine behind Gologin's browser sessions.

eBay Listing & Item Number Scraper

Scrape any eBay listing by item number and get condition, item specifics, variations, units sold and watcher count back. eBay publishes the demand signals Amazon hides, and they parse straight out of the page.
Apple MacBook Air 13" M1
US $444.99Used · Very good
Item number298664654145
Sold47
Watching128

eBay Price Scraper for Bids and Buy It Now

Track Buy It Now prices, live bids and Best Offer availability across a listing's whole life. Every price comes back in the marketplace's own currency.
US $444.99-8%
Buy It Now

eBay Scraper API in Python, Node.js or cURL

One REST call returns the raw HTML of any eBay page. JavaScript rendering, residential proxies by location and consistent browser fingerprints are handled before the response reaches you.
pyjscurl
Request sent
Page rendered
HTML returned

A consistent browser fingerprint on every eBay request

Every eBay request is loaded in a real browser with a full, consistent fingerprint - canvas, WebGL, fonts, timezone - so the signals agree with each other and pages render as they do for any visitor. Same fingerprinting engine as Gologin's browser sessions.
canvas
webgl
fonts
timezone

Automatic IP rotation and retries

A failed attempt retries itself on a fresh residential IP, with no retry logic from you. Success-based billing means the failed tries cost nothing.
203.0.113.42failed
198.51.100.7failed
192.0.2.19200 OK
3 attempts1 billed

Sessions that page deep into eBay search

Cookies and filters survive across requests, so you can page deep into eBay search in one continuous session.

eBay Data Scraper: Every Field You Can Extract

Every field below is read off the rendered page, so an eBay data scraper run returns the same values a shopper sees in the browser. Field names match the labels eBay prints on the page; the examples come from a live listing.

Fields returned by the eBay listing scraper, with example values
FieldExample valueAvailable on
TitleApple MacBook Air 13" M1 256GB SSDAll
Item number298664654145All
EPID21038277962Item page
PriceUS $444.99All
CurrencyUSDAll
ConditionUsed – Very goodItem page, Search results
Listing formatBuy It NowAll
Current bidUS $312.00Item page, Search results
Bid count27Item page, Search results
Best OfferAcceptedItem page
Quantity sold47Item page
Watchers128Item page
Time left3d 04h 12mItem page, Search results
Shipping costFreeAll
Delivery estimateTue, Sep 29 – Fri, Oct 2Item page
Item locationPortland, Oregon, USItem page, Search results
Seller usernamemacmall_dealsAll
Feedback score24,318Item page, Storefront
Feedback %99.3%Item page, Storefront
Top Rated SellertrueItem page, Storefront
Item specificsBrand: Apple · RAM: 8 GB · SSD: 256 GBItem page
VariationsColor: Space Grey / Silver / GoldItem page
Category pathComputers/Tablets & Networking > LaptopsItem page, Category browse
Image URLsi.ebayimg.com/images/g/9k0/s-l1600.jpgAll
Return policy30 days, buyer pays return shippingItem page

Who uses an eBay listing scraper

Six teams that run the same endpoint on very different schedules.

Repricing teamsBuy It Now prices, Best Offer availability and shipping cost are pulled every few minutes across a watchlist of item numbers. The feed drives the repricer that sets the seller's own listings.
Dropshipping product researchQuantity sold and watchers separate a listing that moves from one that only looks good. Dropshipping product research runs on those two numbers plus the supplier's landed cost.
Brand & MAP monitoringBrands watch for listings priced under their minimum advertised price and for sellers who are not authorised. Seller username, feedback score and item location identify who to contact.
Market and price-index researchAnalysts build second-hand price indices from thousands of listings per category per week. eBay price monitoring at that scale needs a stable success rate more than it needs speed.
Collectibles & sneaker price researchAuction data decides the bid: current bid, bid count and time left, polled as the listing closes. Sell-through rate on comparable items sets the ceiling.
Competitor and seller monitoringA storefront crawl returns a rival's full inventory, feedback score and Top Rated status in one pass. Repeat it weekly and new listings show up as a diff.

eBay Scraper API vs eBay's Official Browse API

Both return eBay listing data. They differ in what you have to apply for, which fields you get, and whether the response is a page or a fixed schema.

🔑 eBay Browse API
⚡ Gologin eBay scraper API
Access & approval: Developer account, an app, and OAuth keysets. Some scopes need eBay's approval.
API key on signup. No application, no review.
Fields returned: A fixed schema. Watcher counts and units sold are not exposed.
Anything rendered on the page, including watchers, quantity sold, Best Offer state and item specifics.
Sold / completed listings: Not in Browse. Sales history sits in Marketplace Insights, a Limited Release API.
Public completed and sold pages render like any other URL. Dedicated module coming soon.
Rate limits & quotas: Daily call quotas per keyset, raised only on request.
Concurrency-based. Billing is success-based, so a failed attempt costs $0.00.
Geo / marketplace coverage: Marketplace ID header. No buyer-postcode view of shipping and tax.
Any country site plus buyer-level ZIP targeting through rotating residential proxies in 195+ locations.
JavaScript rendering: Not applicable. The API answers with data, never a page.
Full headless browser render before the response returns.
Response format: JSON only.
Raw HTML or a screenshot, wrapped in a JSON output envelope with status and timing metadata.

eBay Scraper API in Python, Node.js and cURL

One GET request with the target URL. To scrape eBay with Python, Node.js or cURL you send the same parameters and read the HTML out of the JSON envelope.

import requests

API = "https://api.gologin.com/web-unlocker/v1/scrape"
TARGET = "https://www.ebay.com/itm/298664654145"

r = requests.get(
    API,
    params={"url": TARGET, "format": "json", "geo": "us", "render": "true"},
    headers={"Authorization": "Bearer YOUR_API_KEY"},
    timeout=90,
)

data = r.json()["data"]
print(data["metadata"]["status_code"], len(data["html"]))
open("item.html", "w", encoding="utf-8").write(data["html"])
const API = "https://api.gologin.com/web-unlocker/v1/scrape";
const target = "https://www.ebay.com/itm/298664654145";

const url = new URL(API);
url.search = new URLSearchParams({
  url: target,
  format: "json",
  geo: "us",
  render: "true"
});

const res = await fetch(url, {
  headers: { Authorization: "Bearer YOUR_API_KEY" }
});

const { data } = await res.json();
console.log(data.metadata.status_code, data.html.length);
curl -G "https://api.gologin.com/web-unlocker/v1/scrape" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  --data-urlencode "url=https://www.ebay.com/itm/298664654145" \
  --data-urlencode "format=json" \
  --data-urlencode "geo=us" \
  --data-urlencode "render=true" \
  -o item.json

# item.json -> { "success": true, "data": { "html": "...", "metadata": {...} } }
jq -r '.data.metadata.status_code' item.json
jq -r '.data.html' item.json > item.html

Looking for Specialized eBay Data Extraction?

Two dedicated modules run on the same Web Unlocker infrastructure, tuned for datasets this page does not cover.

eBay Sold & Completed Listings Scraper

Pull sold prices, sell-through rates, and completed auction history.

Coming soon

eBay Seller & Feedback Scraper

Extract storefront inventory, feedback scores, and seller sentiment data.

Coming soon

Self-Managed Proxies vs. Gologin Web Unlocker: A Quick Comparison

A few points worth knowing before you choose:

🖥️ Self-Managed Proxies
⚡ Gologin Web Unlocker
Setup: provision your own proxy pools, rotation, and fingerprinting
One API call - rotation and fingerprinting are handled out of the box
Blocked requests: billed the same, whether page or CAPTCHA
Free. Success-based billing means a block or CAPTCHA costs you $0.00
Maintenance: eBay changes its page structure and your scripts break
Gologin keeps up with eBay's site changes so your integration doesn't break
Browser fingerprints: build and maintain your own browser and fingerprint layer
Built in - real browsers with consistent fingerprints and JavaScript rendering on every request
Retries: manual retry logic you write, test, and keep patching
Automatic, on a fresh residential IP, with zero code from you
Scaling: more volume means sourcing and paying for more IPs yourself
The same API call scales from 10 requests to 10 million automatically

Solid Cloud Browsing Infrastructure

Web Unlocker isn't a bolt-on product - it shares infrastructure with the rest of Gologin, so eBay scraping and account management run on the same rails.

Persistent Browser Sessions

Every identity you manage gets its own persistent browser fingerprint - canvas, WebGL, fonts, and timezone, all unique and saved. It's the same fingerprinting engine Web Unlocker runs on every eBay request, so a session saved here behaves identically to the one scraping a listing page.

Cloud Browser

API-controlled, headful browser sessions running in the cloud - click, scroll, screenshot, and read a page the same way a person would, with no local Chromium to install or maintain. Useful whenever a target needs real interaction, not just a single HTML fetch.

Residential Proxies

A bundled residential IP pool across 195+ locations ships with every plan - no separate proxy vendor to source, configure, or reconcile a bill with. The same pool backs Web Unlocker's automatic IP rotation on every request it makes.

Web UnlockerYou are here

The stateless scraping API this page demonstrates live - paste a URL and it handles browser fingerprints, JavaScript rendering, and IP rotation automatically, built on the same identity engine as the rest of the stack.

ZIP Code Geo-Targeting in the eBay Web Scraper API

The seller sets the price. The buyer's postcode sets everything else. Point a request at a US ZIP and the eBay scraper API answers as a shopper standing there.

Landed cost, not list price

Shipping, tax and delivery dates all move with the postcode, so what a buyer pays is never the number on the listing. A pool of 30M+ residential proxies reads the same item from any US ZIP.

Every eBay marketplace, one integration

The same parameter switches country sites, so one integration reads every marketplace in its own currency, language and seller mix, from 195+ proxy locations.

ebay.com$
ebay.co.uk£
ebay.de€
ebay.com.auA$

eBay scraping glossary

Four terms that show up in every eBay scraper API response.

EPID
An EPID (eBay Product ID) is the catalogue identifier eBay attaches to a product, shared by every listing of that same product regardless of seller or condition.
Sell-through rate
Sell-through rate is the share of listings for a product that ended in a sale over a given period, calculated as sold listings divided by total listings.
Best Offer
Best Offer is an eBay listing option that lets a buyer propose a price below the Buy It Now price, which the seller can accept, decline or counter.
Watchers
Watchers is the number of eBay users who have saved a listing to follow its price and remaining time, and it is the closest public proxy for demand on that item.

eBay Scraper FAQ

Straight answers to the questions that come up most before scraping eBay listing data.

Is it legal to scrape eBay listing data?

Scraping publicly available listing data - prices, titles, item specifics - is generally legal in most jurisdictions, since facts aren't copyrightable. Web Unlocker is built for public data only; it's not designed for scraping logged-in account data.

What is an eBay item number?

The item number is the numeric ID eBay assigns to every listing. You'll find it in the listing URL after "/itm/" - it's the identifier most eBay scraper tools use to fetch a specific listing.

What is a seller feedback score, and why scrape it?

Feedback score and percentage are eBay's public reputation signals for a seller. Repricers and sourcing teams track them alongside price, because the same item from a Top Rated seller competes differently.

How is this different from a basic HTTP request or curl?

A plain request often returns incomplete pages. Put it on a schedule from one IP and results become unreliable. Web Unlocker renders the page through a real browser with consistent fingerprints, JavaScript rendering, residential IPs by location and automatic retries - exactly what this page just demonstrated live.

Does scraping eBay get you blocked?

Not on your first request. eBay is more forgiving than Amazon on one-off visits, which is exactly how teams get caught out: the prototype works, so it ships. At production volume, repeated requests from the same IP and fingerprint can come back as challenges and throttles, and the thing that worked in testing stops working in production. Because billing is success-based, a failed request never costs you anything.

Can I scrape eBay search results and Deals pages, not just item pages?

Yes. Item pages, search results, Daily Deals, category browse pages, and seller storefronts all run through the identical API call. Try any of them in the "Try These" list above.

How do I scrape eBay listings with Python?

You scrape eBay listings with Python by sending a GET request to the Web Unlocker endpoint with the listing URL, then parsing the returned HTML with BeautifulSoup or selectolax. The Python sample above is the whole integration: no proxy pool to configure, no browser driver to install, no retry loop to write.

Can I export eBay data to JSON or CSV?

Every response arrives as JSON output containing the rendered HTML, the status code and timing metadata, and writing the parsed fields to CSV takes a few lines in your own code. There is no parsed-field endpoint, so you decide which fields from the table above to keep and in what shape.

How many eBay listings can I scrape per day?

There is no fixed daily cap on paid plans: throughput is bounded by your concurrency setting rather than by a quota. Teams running eBay price monitoring at scale sustain hundreds of thousands of listings a day on a single key. The free demo widget on this page is rate-limited separately.

Does the eBay scraper API work with eBay.co.uk, eBay.de and other marketplaces?

The eBay scraper API works with eBay.co.uk, eBay.de, eBay.com.au and the other country sites, because you pass a full URL and it renders whatever that domain serves. Prices come back in the marketplace's own currency and the page in its own language. The geo parameter sets the proxy country.

Can I scrape eBay sold and completed listings?

Public sold and completed listings pages render like any other eBay URL, so they can be scraped without a login. A dedicated module that returns sold prices and sell-through rate is in development. eBay's own sales history is not in the Browse API; it sits behind the Limited Release Marketplace Insights API.

How much does the eBay scraper API cost?

Pricing is success-based and starts under a dollar per 1,000 successful requests, so blocked attempts and CAPTCHA pages are never billed. A request counts only when the real page comes back. Per-plan rates are on the pricing page, and committed volume lowers the unit price.

Do I need an eBay developer account or API key?

No eBay developer account or eBay API key is required, because the scraper reads the public page instead of calling eBay's API. You authenticate to Gologin with your own key and pass the target URL. That also removes OAuth keyset review and per-scope approval from the setup.

What is the difference between an eBay scraper and the eBay listing API?

An eBay scraper returns the rendered page itself, while the eBay listing API returns the fixed JSON schema eBay chooses to expose. The scraper therefore includes watchers, quantity sold and item specifics that the API leaves out, and it needs no approval. The trade-off is that you write the parser.

Every Failed Request Is Revenue You Didn't Have To Lose

Real listing prices. Real screenshots. Real speed - starting under a dollar per 1,000 requests. Book a free personal demo and watch Gologin Web Unlocker run on your own use case, live.

Book a Demo