Ebay Scraper Actor avatar
Ebay Scraper Actor

Pricing

from $1.00 / 1,000 results

Go to Apify Store
Ebay Scraper Actor

Ebay Scraper Actor

eBay scraper that searches by KEYWORD. No need to manually filter URLs. Enter a term (e.g., "iPhone 15", "Rolex Watch") and get thousands of results instantly.

Pricing

from $1.00 / 1,000 results

Rating

5.0

(1)

Developer

DaddyAPI

DaddyAPI

Maintained by Community

Actor stats

1

Bookmarked

2

Total users

1

Monthly active users

8 days ago

Last modified

Share

eBay Search Scraper

The efficient eBay scraper that searches by KEYWORD. No need to manually filter URLs. Enter a term (e.g., "iPhone 15", "Rolex Watch") and get thousands of results instantly.

Apify Actor Node.js

πŸš€ Why this scraper?

Most eBay scrapers require complex setup or fail against anti-bot protections. That's slow and unscalable.

eBay Search Scraper acts like a real user:

  1. You provide a Search Query (e.g., "iPhone 15 Pro").
  2. The actor navigates, searches, handles pagination, and extracts clean data.
  3. It automatically handles different eBay layouts (List vs. Grid/Card).

Perfect for:

  • πŸ“‰ Price Monitoring: Track market value of electronics.
  • πŸ“± Reselling: Find undervalued iPhones or electronics for flip.
  • πŸ” Competitor Analysis: See what others are charging.
  • πŸ“¦ Arbitrage: Compare prices across conditions (New vs. Open Box).

🌍 Supported Features

We currently optimize for ebay.com (US) but the logic is robust for standard listings.

  • Search: Keyword based.
  • Filters: Condition (New, Used, Open Box, Refurbished).
  • Sorting: Newest, Price, Best Match.
  • Layouts: Supports both List and Gallery (Card) views.

πŸ“– How to Use

Option 1: Apify Console (No Coding)

  1. Go to the Input tab.
  2. Enter your Search Keyword (e.g., iPhone 15 Pro Max).
  3. (Optional) Select Item Conditions (e.g., Used, Open Box, Refurbished).
  4. (Optional) Set Sort By to newest to get the latest listings.
  5. Proxy Selection: Select "Apify Proxy" (Residential required) OR select your own custom proxy groups if you are renting the worker.
  6. Click Start.
  7. Download your data in Excel, CSV, or JSON format.

Option 2: API (Developers)

You can trigger this actor programmatically via REST API, Python, or Node.js.

Input Payload (JSON)

{
"searchQuery": "iPhone 15 Pro",
"sortBy": "newest",
// Options: "newest", "price_low", "price_high", "relevance"
"itemConditions": ["3000", "1500"],
// Codes: 1000=New, 1500=Open Box, 3000=Used, 2000-2500=Refurbished
"maxPages": 1,
"maxRequestsPerCrawl": 50,
"proxyConfiguration": {
"useApifyProxy": true,
"apifyProxyGroups": ["RESIDENTIAL"],
"apifyProxyCountry": "US"
}
}

🐍 Python Example (Simple & Clean)

This script runs the scraper and saves the results to a local file. Note: eBay requires high-quality proxies.

import json
from apify_client import ApifyClient
# 1. Configuration
APIFY_TOKEN = 'YOUR_APIFY_TOKEN'
ACTOR_ID = 'your-username/ebay-search-scraper'
client = ApifyClient(APIFY_TOKEN)
# 2. Define Input
run_input = {
"searchQuery": "iPhone 15 Pro",
"sortBy": "newest",
"maxPages": 1,
"itemConditions": ["3000", "1500"], # Used & Open Box
"proxyConfiguration": {
"useApifyProxy": True,
"apifyProxyGroups": ["RESIDENTIAL"],
"apifyProxyCountry": "US"
}
}
print(f"πŸš€ Starting scraper for: {run_input['searchQuery']}...")
# 3. Run Actor
run = client.actor(ACTOR_ID).call(run_input=run_input)
if not run:
print("❌ Failed to start run.")
exit(1)
print(f"βœ… Run finished! Status: {run['status']}")
# 4. Fetch & Save Results
dataset_client = client.dataset(run["defaultDatasetId"])
items = dataset_client.list_items().items
filename = "results.json"
with open(filename, "w", encoding="utf-8") as f:
json.dump(items, f, indent=2, ensure_ascii=False)
print(f"πŸ’Ύ Saved {len(items)} listings to {filename}")

πŸ”’ Proxy Configuration

⚠️ eBay has strict anti-bot measures.

Residential Proxies (Required)

You MUST use Residential proxies. Datacenter proxies often result in 0 items or CAPTCHAs.

{
"proxyConfiguration": {
"useApifyProxy": true,
"apifyProxyGroups": [
"RESIDENTIAL"
],
"apifyProxyCountry": "US"
}
}

πŸ“Š Data Output

The scraper returns highly detailed, structured data for every listing:

{
"type": "search_result_ebay",
"id": "123456789012",
"url": "https://www.ebay.com/itm/123456789012",
"title": "Apple iPhone 15 Pro - 128GB - Natural Titanium (Unlocked)",
"price": {
"display": "$999.00",
"currency": "USD",
"amount": 999.00
},
"shipping": "Free 2-day shipping",
"condition": "Open box",
"mainPhoto": "https://i.ebayimg.com/images/g/...",
"status": "active"
}

βš™οΈ Configuration Parameters

ParameterTypeRequiredDefaultDescription
searchQueryStringβœ…-What to search for. (e.g., "iPhone 15").
sortByEnum❌newestnewest, relevance, price_low, price_high.
itemConditionsArray❌Used/Open/RefurbFilter by condition codes.
maxPagesInteger❌1Depth of scrape. 1 page β‰ˆ 60 items.
proxyConfigurationObject❌AutoResidential Proxies (US) are strongly recommended.

πŸ›‘οΈ Troubleshooting

  • Empty Results? eBay might be serving a CAPTCHA or a different layout. Ensure you are using Residential Proxies from the US.
  • Blocked/403? Your proxy is detected. Switch to Apify Proxy (Residential) or try again later.
  • Missing Fields? Some sellers don't provide all info (e.g., specific shipping costs in the preview).

This scraper is for educational and analytical purposes. Please respect eBay's Terms of Service and robots.txt. Do not use this tool to spam sellers or overload their servers. Use responsible rate limits.