Black-Friday Black-Friday
logo

eBay Scraper - Scrape Data from eBay Based on Keywords or Categories

RealdataAPI / ebay-product-scraper

Unofficial eBay scraper API to scrape or extract product data from eBay based on keywords or categories. Scrape reviews, prices, product descriptions, images, location, availability, brand, etc. Download extracted data in a structured format and use it in reports, spreadsheets, databases, and applications. The scraper is available in the USA, Canada, Germany, France, Australia, the UK, Spain, Singapore, India, and other countries.

Extract and download unlimited product data from eBay using this API, including product details, reviews, categories, or prices.

eBay product scraper collects any product from any category in the platform or using the search keyword and page URLs. Download the data in any digestible format.

How to use the scraped eBay data?

  • Establish automatic bidding and price tracking - scan multiple retail products in real-time to manage your pricing or purchasing strategies.
  • Competitor price monitoring- Monitor products, sales data, and listing from digital stores to compare bidder's and Competitor's prices and support the decision-making process with actual data
  • Market analysis facilitation- scan and study eBay for products, images, categories, keywords, and more to learn consumer behavior and emerging trends.
  • Execute lightweight automation and improve performance - easily compile product data for machine learning, market research, product development, etc.

Generally, Amazon subcategory permalink includes /s after the Amazon domain. Therefore ensure to maintain your URL looks like the above example.

Therefore, add any links in the input and choose as many products as you want to collect. Then export the output schema. You can also get this information directly from the API without logging in to the Real Data API platform.

Tutorial

If you wish to learn more about the process of how eBay data scraper works, check this explanation in detail with examples and screenshots.

Execution cost

Executing the run is the simplest way to check the required CUs. Executing a single but more extended scraper is more effective than multiple smaller scrapers due to the startup duration. On average, this API will cost you around 65 cents per 1k products. For more information, check our pricing page. If you're confused about how many CUs you have, check if you need to upgrade them. You can see your limits in settings- billing and usage tag in the Real Data API console account.

Input Parameters

This API will require only a few settings from your side - a proxy and a link.

  • proxyConfiguration (needed)- mentions using proxy settings during actor execution. While running the API on the Real Data API, you must set the proxy setting on the default value { "useRealdataAPIProxy": true }
  • startUrls (needed): list of request points, mentioning search terms and categories you wish to extract. You can use any URL of the category or search page from eBay.
Example
{
  "startUrls": [
    {
      "url": "https://www.ebay.com/sch/i.html?_from=R40&_trksid=p2499334.m570.l1313&_nkw=massage%2Brecliner%2Bchair&_sacat=6024"
    },
    {
      "url": "https://www.ebay.com/sch/i.html?_from=R40&_trksid=p2334524.m570.l1313&_nkw=motor+parts&_sacat=0&LH_TitleDesc=0"
    },
    {
      "url": "https://www.ebay.com/sch/i.html?_from=R40&_trksid=p2334524.m570.l1313&_nkw=bicycle+handlebars&_sacat=0&LH_TitleDesc=0"
    }
  ],
  "maxItems": 10,
  "proxyConfig": {
    "useRealdataAPIProxy": true
  }
}
Output
[{
  "url": "https://www.ebay.com/itm/164790739659",
  "categories": [
    "Camera Drones",
    "Other RC Model Vehicles & Kits"
  ],
  "itemNumber": "164790739659",
  "title": "2021 New RC Drone 4k HD Wide Angle Camera WIFI FPV Drone Dual Camera Quadcopter",
  "subTitle": "US Stock! Fast Shipping! Highest Quality! Best Service!",
  "whyToBuy": [
    "Free shipping and returns",
    "1,403 sold",
    "Ships from United States"
  ],
  "price": 39,
  "priceWithCurrency": "US $39.00",
  "wasPrice": 41.05,
  "wasPriceWithCurrency": "US $41.05",
  "available": 10,
  "availableText": "More than 10 available",
  "sold": 1,
  "image": "https://i.ebayimg.com/images/g/pp4AAOSwKtRgZPzC/s-l300.jpg",
  "seller": "everydaygadgetz",
  "itemLocation": "Alameda, California, United States",
  "ean": null,
  "mpn": null,
  "upc": "Does not apply",
  "brand": "Unbranded",
  "type": "Professional Drone"
}]

After the eBay API completes the scraping execution, it will save the output in a dataset and display them as output results. You can download them in any format.

Output example:

Remember that search output may vary when running data extraction from different geolocation. We suggest using proxy locations to get the best results from the same location.

Proxy Utilization

This API needs proxy servers to work properly, like many data scrapers in the eCommerce industry. We don't suggest executing it on a free account for difficult tasks than getting sample outputs. If you want to execute this actor to get many results, subscribing to our platform will allow you to use several proxies.

Supported countries

This eBay actor is compatible with scraping eBay data in the domains and countries below.

Other retail scrapers

We've many other retail and eCommerce data scrapers available for you. To check the list, explore the eCommerce category on our store page.

Industries

Check how industries are using eBay scraper worldwide.

Industries

Check out how industries are using ebay product scraper around the world.

E-Commerce-&-Retail

E-commerce & Retail

You should have a Real Data API account to execute the program examples. Replace <YOUR_API_TOKEN> in the program using the token of your actor. Read about the live APIs with Real Data API docs for more explanation.

import { RealdataAPIClient } from 'RealDataAPI-Client';

// Initialize the RealdataAPIClient with API token
const client = new RealdataAPIClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare actor input
const input = {
    "startUrls": [
        {
            "url": "https://www.ebay.com/sch/i.html?_from=R40&_trksid=p2499334.m570.l1313&_nkw=massage%2Brecliner%2Bchair&_sacat=6024"
        }
    ],
    "maxItems": 10,
    "proxyConfig": {
        "useRealdataAPIProxy": true
    }
};

(async () => {
    // Run the actor and wait for it to finish
    const run = await client.actor("dtrungtin/ebay-items-scraper").call(input);

    // Fetch and print actor results from the run's dataset (if any)
    console.log('Results from dataset');
    const { items } = await client.dataset(run.defaultDatasetId).listItems();
    items.forEach((item) => {
        console.dir(item);
    });
})();
from RealdataAPI_client import RealdataAPIClient

# Initialize the RealdataAPIClient with your API token
client = RealdataAPIClient("<YOUR_API_TOKEN>")

# Prepare the actor input
run_input = {
    "startUrls": [{ "url": "https://www.ebay.com/sch/i.html?_from=R40&_trksid=p2499334.m570.l1313&_nkw=massage%2Brecliner%2Bchair&_sacat=6024" }],
    "maxItems": 10,
    "proxyConfig": { "useRealdataAPIProxy": True },
}

# Run the actor and wait for it to finish
run = client.actor("dtrungtin/ebay-items-scraper").call(run_input=run_input)

# Fetch and print actor results from the run's dataset (if there are any)
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(item)
# Set API token
API_TOKEN=<YOUR_API_TOKEN>

# Prepare actor input
cat > input.json <<'EOF'
{
  "startUrls": [
    {
      "url": "https://www.ebay.com/sch/i.html?_from=R40&_trksid=p2499334.m570.l1313&_nkw=massage%2Brecliner%2Bchair&_sacat=6024"
    }
  ],
  "maxItems": 10,
  "proxyConfig": {
    "useRealdataAPIProxy": true
  }
}
EOF

# Run the actor
curl "https://api.RealdataAPI.com/v2/acts/dtrungtin~ebay-items-scraper/runs?token=$API_TOKEN" /
  -X POST /
  -d @input.json /
  -H 'Content-Type: application/json'

Start URLs

startUrls Required Array

Links to begin with.

Max items

maxItems Optional Integer

Limits of products to scrape

Proxy configuration

proxyConfig Required Object

You must use proxy servers to execute the API on the platform.

{
  "startUrls": [
    {
      "url": "https://www.ebay.com/sch/i.html?_from=R40&_trksid=p2499334.m570.l1313&_nkw=massage%2Brecliner%2Bchair&_sacat=6024"
    }
  ],
  "maxItems": 10,
  "proxyConfig": {
    "useRealdataAPIProxy": true
  }
}