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.
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.
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.
| Field | Example value | Available on |
|---|---|---|
| Title | Apple MacBook Air 13" M1 256GB SSD | All |
| Item number | 298664654145 | All |
| EPID | 21038277962 | Item page |
| Price | US $444.99 | All |
| Currency | USD | All |
| Condition | Used – Very good | Item page, Search results |
| Listing format | Buy It Now | All |
| Current bid | US $312.00 | Item page, Search results |
| Bid count | 27 | Item page, Search results |
| Best Offer | Accepted | Item page |
| Quantity sold | 47 | Item page |
| Watchers | 128 | Item page |
| Time left | 3d 04h 12m | Item page, Search results |
| Shipping cost | Free | All |
| Delivery estimate | Tue, Sep 29 – Fri, Oct 2 | Item page |
| Item location | Portland, Oregon, US | Item page, Search results |
| Seller username | macmall_deals | All |
| Feedback score | 24,318 | Item page, Storefront |
| Feedback % | 99.3% | Item page, Storefront |
| Top Rated Seller | true | Item page, Storefront |
| Item specifics | Brand: Apple · RAM: 8 GB · SSD: 256 GB | Item page |
| Variations | Color: Space Grey / Silver / Gold | Item page |
| Category path | Computers/Tablets & Networking > Laptops | Item page, Category browse |
| Image URLs | i.ebayimg.com/images/g/9k0/s-l1600.jpg | All |
| Return policy | 30 days, buyer pays return shipping | Item page |
Six teams that run the same endpoint on very different schedules.
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.
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
Two dedicated modules run on the same Web Unlocker infrastructure, tuned for datasets this page does not cover.
Pull sold prices, sell-through rates, and completed auction history.
Coming soonExtract storefront inventory, feedback scores, and seller sentiment data.
Coming soonA few points worth knowing before you choose:
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.
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.
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.
The same parameter switches country sites, so one integration reads every marketplace in its own currency, language and seller mix, from 195+ proxy locations.
Four terms that show up in every eBay scraper API response.
Straight answers to the questions that come up most before scraping 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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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