Skip to main content

Shop::eBay - eBay search results scraper

img

Scraper overview

Using the eBay products scraper, you can retrieve data from the product card, compile a database of product links, track the dynamics of product prices, changes in the number of sellers, collect rating scores and the number of reviews on products, collect product images.

A-Parser functionality allows you to save scraping settings for future use (presets), set a scraping schedule, and much more. You can use automatic query multiplication, substitution of subqueries from files, permutation of alphanumeric combinations and lists to get the maximum possible number of results.

Collected data

Collected data
  • Product name
  • Product link
  • Product image
  • Price and old price
  • Currency
  • Rating and number of comments
  • Number of sellers
  • Additional information

Use cases

  • Collecting product links
  • Assessing product popularity
  • Tracking the dynamics of prices and product popularity

Queries

As queries, you need to specify product names, just as if they were entered directly into the eBay search form, for example:

mi band 6
iPhone 11
kingston CanvasGo+
AMD Ryzen R3 2200U

Query substitutions

You can use built-in macros for query multiplication, for example, we want to get a very large database of products by brands

philips
sony
xiaomi
samsung

In the query format, we will specify a permutation of characters from a to zzzz, this method allows us to maximally rotate the search results and get many new unique results:

$query {az:a:zzzz}

This macro will create 475254 additional queries for each original search query, which in total will give 4 x 475254 = 1901016 search queries, an impressive figure, but this is not a problem for A-Parser. At a speed of 2000 queries per minute, such a task will be processed in just 16 hours.

Output results examples

A-Parser supports flexible formatting of results thanks to the built-in Template Toolkit, which allows it to output results in any form, as well as in structured formats, such as CSV or JSON

Output of title, new and old prices, currency

Result format:

$products.format('$title, $price, $old_price, $currency\n')

Example of result:

Xiaomi Mi Band 4 Global Version Smart Bracelet 0.95" Color Screen 50M Waterproof, 44.99, , $
Protective Film for Xiaomi youpin haylou ls02 ls01 Solar ls05 Color I Band 5, 5.97, , $
IP68 Waterproof SmartWatch ECG PPG Blood Pressure Heart Rate sports Wristwatch, 48.75, 52.99, $
Bluetooth Smart Watch Heart Rate Blood Pressure Bracelet For iPhone XS Xiaomi Mi, 38.63, 44.99, $

Output of title, price, and currency

Result format:

$products.format('Название: $title, Цена: $price, Валюта: $currency\n')

Example of result:

Название: Newest 2021 Xiaomi Mi Band 6 Blood Oxygen Fitness Tracker Heart Rate Monitor, Цена: 63.99, Валюта: $
Название: Original Xiaomi Mi Band 6 Wristband AMOLED Color Screen - 2021!, Цена: 20.00, Валюта: $
Название: Newest 2021 Xiaomi Mi Band 6 Blood Oxygen Fitness Tracker Heart Rate Monitor, Цена: 63.99, Валюта: $
Название: Xiaomi Mi Band 6 Smart fitness bracelet, Цена: 62.99, Валюта: $
Название: Xiaomi Mi Band 6 Blood Oxygen Fitness Tracker Heart Rate Monitor Sports Bracelet, Цена: 63.99, Валюта: $
Название: MI 6 Band 6 Smart 1.56" AMOLED Retina Colourful Screen Blood SpO2 Heart Fitness, Цена: 82.74, Валюта: $
Название: Xiaomi Mi Smart Band 6 1.56' Amoled Blood Oxygen Fitness Tracker Sport Bracelet, Цена: 65.99, Валюта: $

Output of title, price, and the difference between new and old prices in a CSV table

Result format:

[% FOREACH item IN products;  
diff = item.old_price ? item.old_price - item.price : 0;
tools.CSVline(item.title, item.price, diff);
END %]

Example of result:

"Xiaomi Mi Band 4 Global Version Smart Bracelet 0.95"" Color Screen 50M Waterproof",44.99,0
"IP68 Waterproof SmartWatch ECG PPG Blood Pressure Heart Rate sports Wristwatch",48.75,4.24
"Protective Film for Xiaomi youpin haylou ls02 ls01 Solar ls05 Color I Band 5",5.97,0
"Bluetooth Smart Watch Heart Rate Blood Pressure Bracelet For iPhone XS Xiaomi Mi",38.63,6.36
"Men Sports Smart Watch ECG PPG Blood Pressure Heart Rate Phone Mate for iPhone",48.75,4.24

Output of result with parsing date in a CSV table

Result format:

[% USE date;
d = date.format(mytime, format = "%Y %d %H:%M");
FOREACH item IN products;
tools.CSVline(d, item.title, item.price, item.link);
END %]

Example of result:

"2021 16 18:23","Newest 2021 Xiaomi Mi Band 6 Blood Oxygen Fitness Tracker Heart Rate Monitor",63.99,https://www.ebay.com/itm/Newest-2021-Xiaomi-Mi-Band-6-Blood-Oxygen-Fitness-Tracker-Heart-Rate-Monitor/124659632314
"2021 16 18:23","Original Xiaomi Mi Band 6 Wristband AMOLED Color Screen - 2021!",20.00,https://www.ebay.com/itm/Original-Xiaomi-Mi-Band-6-Wristband-AMOLED-Color-Screen-2021/153992931607
"2021 16 18:23","Newest 2021 Xiaomi Mi Band 6 Blood Oxygen Fitness Tracker Heart Rate Monitor",63.99,https://www.ebay.com/itm/Newest-2021-Xiaomi-Mi-Band-6-Blood-Oxygen-Fitness-Tracker-Heart-Rate-Monitor/133729672537
"2021 16 18:23","Xiaomi Mi Band 6 Smart fitness bracelet",62.99,https://www.ebay.com/itm/Xiaomi-Mi-Band-6-Smart-fitness-bracelet/353451130097
"2021 16 18:23","Xiaomi Mi Band 6 Blood Oxygen Fitness Tracker Heart Rate Monitor Sports Bracelet",63.99,https://www.ebay.com/itm/Xiaomi-Mi-Band-6-Blood-Oxygen-Fitness-Tracker-Heart-Rate-Monitor-Sports-Bracelet/164811614943

Output in a CSV table

Result format:

[% FOREACH item IN products; 
tools.CSVline(item.link, item.title, item.price, item.old_price, item.rating, item.reviews_count);
END %]

Initial text:

Ссылка на товар, Название товара, Цена, Старая цена, Рейтинг, Количество комментариев

Example of result:

Ссылка на товар, Название товара, Цена, Старая цена, Рейтинг, Количество комментариев
https://www.ebay.com/itm/Newest-2021-Xiaomi-Mi-Band-6-Blood-Oxygen-Fitness-Tracker-Heart-Rate-Monitor/124659632314,"Newest 2021 Xiaomi Mi Band 6 Blood Oxygen Fitness Tracker Heart Rate Monitor",63.99,,,
https://www.ebay.com/itm/Original-Xiaomi-Mi-Band-6-Wristband-AMOLED-Color-Screen-2021/153992931607,"Original Xiaomi Mi Band 6 Wristband AMOLED Color Screen - 2021!",20.00,,,
https://www.ebay.com/itm/Xiaomi-Mi-Band-6-Blood-Oxygen-Fitness-1-56-AMOLED-Tracker-Heart-Rate-Bracelet/284256075838,"Xiaomi Mi Band 6 Blood Oxygen Fitness 1.56"" AMOLED Tracker Heart Rate Bracelet",60.79,63.99,,
https://www.ebay.com/itm/Xiaomi-Mi-Smart-Band-6-1-56-AMOLED-Blood-Oxygen-Fitness-Tracker-Sport-Bracelet/194003608270,"Xiaomi Mi Smart Band 6 1.56' AMOLED Blood Oxygen Fitness Tracker Sport Bracelet ",61.99,77.69,,
https://www.ebay.com/itm/Xiaomi-Mi-band-6-Xiaomi-smart-2021-Newest-1-56/154411997162,"Xiaomi Mi band 6 Xiaomi smart 2021 Newest 1.56'",58.99,,,
tip

In the Result format, the Template Toolkit is used to output the array $products in a FOREACH loop.

To make the "Initial text" option available in the Task Editor, you need to activate "More options". In "Initial text" we write the names of the columns separated by commas and make the second line empty.

Saving in SQL format

Result format:

[% FOREACH item IN products;
"INSERT INTO products VALUES('" _ item.title _ "', '"; item.link _ "', '"; item.price _ "', '"; item.currency _ "')\n";
END %]

Example of the result:

INSERT INTO products VALUES('Newest 2021 Xiaomi Mi Band 6 Blood Oxygen Fitness Tracker Heart Rate Monitor', 'https://www.ebay.com/itm/Newest-2021-Xiaomi-Mi-Band-6-Blood-Oxygen-Fitness-Tracker-Heart-Rate-Monitor/124659632314', '63.99', '$')
INSERT INTO products VALUES('Original Xiaomi Mi Band 6 Wristband AMOLED Color Screen - 2021!', 'https://www.ebay.com/itm/Original-Xiaomi-Mi-Band-6-Wristband-AMOLED-Color-Screen-2021/153992931607', '20.00', '$')
INSERT INTO products VALUES('Newest 2021 Xiaomi Mi Band 6 Blood Oxygen Fitness Tracker Heart Rate Monitor', 'https://www.ebay.com/itm/Newest-2021-Xiaomi-Mi-Band-6-Blood-Oxygen-Fitness-Tracker-Heart-Rate-Monitor/133729672537', '63.99', '$')
INSERT INTO products VALUES('Xiaomi Mi Band 6 Smart fitness bracelet', 'https://www.ebay.com/itm/Xiaomi-Mi-Band-6-Smart-fitness-bracelet/353451130097', '62.99', '$')
INSERT INTO products VALUES('Xiaomi Mi Band 6 Blood Oxygen Fitness Tracker Heart Rate Monitor Sports Bracelet', 'https://www.ebay.com/itm/Xiaomi-Mi-Band-6-Blood-Oxygen-Fitness-Tracker-Heart-Rate-Monitor-Sports-Bracelet/164811614943', '63.99', '$')
INSERT INTO products VALUES('MI 6 Band 6 Smart 1.56" AMOLED Retina Colourful Screen Blood SpO2 Heart Fitness', 'https://www.ebay.com/itm/MI-6-Band-6-Smart-1-56-AMOLED-Retina-Colourful-Screen-Blood-SpO2-Heart-Fitness/224414937192', '82.74', '$')

Dumping results to JSON

Общий формат результата:

[% IF notFirst;
",\n";
ELSE;
notFirst = 1;
END;

obj = {};
obj.query = query;
obj.items = [];

FOREACH item IN p1.products;
obj.items.push({
link = item.link
title = item.title
price = item.price
});
END;

obj.json %]

Начальный текст:

[

Конечный текст:

]

Example of the result:

[
{
"query": "mi band 6",
"items": [
{
"link": "https://www.ebay.com/itm/Mens-Smart-Watch-Fitness-Activity-Tracker-Wristwatch-for-iPhone-Samsung-Android/233817567751",
"name": "Men's Smart Watch Fitness Activity Tracker Wristwatch for iPhone Samsung Android",
"price": "48.75"
},
{
"link": "https://www.ebay.com/itm/Mens-Smart-Watch-Fitness-Activity-Tracker-Wristwatch-for-iPhone-Samsung-Android/233817567751",
"name": "Men's Smart Watch Fitness Activity Tracker Wristwatch for iPhone Samsung Android",
"price": "48.75"
},
{
"link": "https://www.ebay.com/itm/Mens-Smart-Watch-Fitness-Activity-Tracker-Wristwatch-for-iPhone-Samsung-Android/233817567751",
"name": "Men's Smart Watch Fitness Activity Tracker Wristwatch for iPhone Samsung Android",
"price": "48.75"
},
{
"link": "https://www.ebay.com/itm/Mens-Smart-Watch-Fitness-Activity-Tracker-Wristwatch-for-iPhone-Samsung-Android/233817567751",
"name": "Men's Smart Watch Fitness Activity Tracker Wristwatch for iPhone Samsung Android",
"price": "48.75"
}
]
}
]
tip

To make the "Initial text" and "Final text" options available in the Task Editor, you need to activate "More options".

Possible settings

ParameterDefault valueDescription
Pages count5Number of pages to scrape
Items per page50Number of items per page
Ebay domainUnited StatesChoice of domain to be used for scraping