This tutorial shows how to scrape eBay product details by search keyword into CSV with the eBay Product Scraper by Search Keywords template for UScraper. You will import the workflow, replace sample keyword pages, set the export path, and validate rows before scaling.
Before you start
Prerequisites and scope
You need UScraper installed as a local desktop app, an eBay keyword you are allowed to research, and a folder for the CSV. The bundled JSON is preconfigured for switch 2 console new sealed across pages 1-20, but that is only a wiring example.
This workflow covers public eBay search result pages. It does not log in, automate purchases, scrape private account areas, bypass CAPTCHA, or call eBay APIs. For production integrations, compare it with the official eBay Browse API overview, search endpoint, and getItem endpoint.
Compliance check: collect only what you have a legitimate reason to review, respect source terms and access controls, and stop the run if eBay shows verification or unusual access challenges.
Workflow anatomy
How the eBay keyword scraper works
The JSON export is the authoritative workflow definition. Its block order is simple: Navigate -> Wait for Page Load -> Wait for Element -> Inject JavaScript -> Sleep -> Structured Export -> Loop Continue.
The Navigate block owns the search URL list. The wait blocks give eBay time to render. The JavaScript step handles a common consent button when present, scans anchors containing /itm/, extracts item numbers, and creates hidden normalized rows with stable data-* attributes. Structured Export writes those attributes into CSV columns in append mode.
Runbook
How to scrape eBay product details to CSV
Download and import
Open eBay Product Scraper by Search Keywords, download the JSON template, and import it into UScraper.
Replace the sample keyword URLs
In Navigate, replace the seeded search URLs with your own keyword, filters, condition, result size, and page numbers.
Set the export folder
Confirm ebay_details.csv, headers, append mode, and a project-specific save location.
Run one page first
Run a single URL, then confirm titles, item numbers, prices, product URLs, and row counts.
Scale the loop carefully
Add pages only after the sample looks correct. Stop if eBay serves consent, CAPTCHA, login, or empty result pages.
After the dry run, sort by Item_Number. If duplicates appear, check for repeated page URLs or a rerun against an existing append-mode file.
Output
What the eBay listings CSV includes
The output is a search-result dataset, not a full second-stage detail-page crawl. It exports fields visible or inferable from result cards and item links.
| CSV column | Meaning | Validation tip |
|---|---|---|
Product_Title | Cleaned visible listing title | Remove leading promo text such as New Listing. |
Seller_Name | Seller text parsed from the result card | May be blank when seller info is not visible. |
Feedback_Score | Feedback percentage such as 99.4% | Keep as text until analysis time. |
Price and Was_Price | Current and strikethrough price text | Normalize currency later; preserve raw text first. |
Condition | Condition or subtitle text | Varies by category and listing format. |
Sold | Sold-count number when shown | Blank does not mean zero sold. |
Availability | Phrases such as last one or only 2 left | Treat as a signal, not inventory truth. |
Page_URL | Direct item URL | Use this for clickback QA and dedupe. |
Item_Number | eBay item number parsed from the URL | Best dedupe key in this workflow. |
Epid | eBay product ID query value when present | Often blank because not every URL includes it. |
Validation
Validate the export before using it
Open the browser and CSV side by side. Check one row from the first page, middle, and last page. Click Page_URL, confirm the item number appears in the URL, and compare title and price.
| Symptom | Likely cause | Fix |
|---|---|---|
| Zero rows | eBay changed markup, blocked the page, or showed a prompt | Open the page manually, clear prompts, and rerun one URL. |
| Blank seller fields | Seller text was not visible on that card variant | Keep the row; do not force a value from unrelated text. |
| Repeated rows | Duplicate page URLs or append-mode rerun | Dedupe by Item_Number and clear the file before a clean run. |
| Price mismatch | Regional currency, delayed rendering, or stale page | Reopen the exact search URL and validate current text. |
| Missing images | Lazy-loaded or placeholder image source | Add a short scroll or wait if thumbnails load after paint. |
For recurring eBay price tracker work, save the keyword, filters, date, page range, exported filename, and selector changes.
API vs scraper
eBay Browse API vs a local scraper
Use the eBay Browse API when your product needs official JSON, app credentials, stable endpoint contracts, and item detail fields such as seller feedback, shipping options, return policies, categories, aspects, and descriptions.
Use the UScraper template when the deliverable is a supervised CSV from visible search results: pricing checks, seller discovery, category scans, or quick competitor research. It is faster to test, but you own waits, selector maintenance, policy review, and QA.
FAQ
eBay keyword scraper FAQ
Public eBay pages can still be governed by terms, robots guidance, anti-abuse systems, privacy rules, copyright, and local law. Use the workflow for legitimate research, keep pacing modest, and use official routes when you need contractual rights.
Next step
Download the eBay product scraper template
When you are ready to run the workflow, download the JSON from eBay Product Scraper by Search Keywords and keep this tutorial open for validation. For adjacent workflows, browse the full UScraper template library or read more CSV export guides on the UScraper blog.
