Rotating Proxy Network
A built-in rotating proxy system automatically changes IP addresses for every request.
Extract eBay search data at scale using Scrapingdog's dedicated API. Get product position, title, seller name, ratings, and other data points that eBay offers.
"search_results": [
{
"position": 1,
"itemId": "317209285720",
"title": "Portable Windows 11 Laptop 15.6 inch Intel Celeron 8GB RAM 256GB SSD Notebook HDMI",
"seller": {
"name": "sgin_official_store",
"feedback": "3.7K",
"positive_feedback_percent": "98.1"
},
"condition": "Brand New ·",
"is_sponsored": true,
"is_best_offer": false,
"price": "$159.99",
"extracted_price": 159.99,
"link": "https://www.ebay.com/itm/317209285720?_skw=laptop&hash=item49db259458...",
"is_free_return": false
}
]import requests
api_key = "5eaa61a6e562fc52fe763tr516e4653"
url = "https://api.scrapingdog.com/ebay/search"
params = {
"api_key": api_key,
"url": "https://www.ebay.com/sch/i.html?_nkw=laptop"
}
response = requests.get(url, params=params)
if response.status_code == 200:
data = response.json()
print(data)
else:
print(f"Request failed with status code: {response.status_code}")import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;
import java.net.URLEncoder;
import java.io.IOException;
public class Main {
public static void main(String[] args) {
try {
String apiKey = "5eaa61a6e562fc52fe763tr516e4653";
String target = URLEncoder.encode("https://www.ebay.com/sch/i.html?_nkw=laptop", "UTF-8");
String apiUrl = "https://api.scrapingdog.com/ebay/search?api_key=" + apiKey + "&url=" + target;
URL url = new URL(apiUrl);
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
connection.setRequestMethod("GET");
int responseCode = connection.getResponseCode();
if (responseCode == 200) {
BufferedReader reader = new BufferedReader(new InputStreamReader(connection.getInputStream()));
String inputLine;
StringBuilder response = new StringBuilder();
while ((inputLine = reader.readLine()) != null) {
response.append(inputLine);
}
reader.close();
System.out.println(response.toString());
} else {
System.out.println("HTTP request failed with response code: " + responseCode);
}
connection.disconnect();
} catch (IOException e) {
e.printStackTrace();
}
}
}<?php
$api_key = '5eaa61a6e562fc52fe763tr516e4653';
$target = urlencode('https://www.ebay.com/sch/i.html?_nkw=laptop');
$url = 'https://api.scrapingdog.com/ebay/search?api_key=' . $api_key . '&url=' . $target;
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
if ($response === false) {
echo 'cURL error: ' . curl_error($ch);
} else {
echo $response;
}
curl_close($ch);require 'net/http'
require 'uri'
api_key = '5eaa61a6e562fc52fe763tr516e4653'
target = URI.encode_www_form_component('https://www.ebay.com/sch/i.html?_nkw=laptop')
url = URI.parse("https://api.scrapingdog.com/ebay/search?api_key=#{api_key}&url=#{target}")
request = Net::HTTP::Get.new(url)
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
response = http.request(request)
if response.is_a?(Net::HTTPSuccess)
puts response.body
else
puts "HTTP request failed with code: #{response.code}, message: #{response.message}"
endconst axios = require('axios');
const api_key = '5eaa61a6e562fc52fe763tr516e4653';
const url = 'https://api.scrapingdog.com/ebay/search';
const params = {
api_key: api_key,
url: 'https://www.ebay.com/sch/i.html?_nkw=laptop',
};
axios
.get(url, { params: params })
.then(function (response) {
if (response.status === 200) {
console.log(response.data);
} else {
console.log('Request failed with status code: ' + response.status);
}
})
.catch(function (error) {
console.error('Error making the request: ' + error.message);
});titleitemIdlinkconditionpriceextracted_priceis_best_offerseller.nameseller.feedbackseller.positive_feedback_percentpositionis_sponsoredis_free_returnsearch_resultsScraping eBay search by hand means fighting item-ID layouts, sponsored-listing markup, and aggressive rate limits before you see a clean price.
eBay weaves Promoted Listings into results with the same markup as organic items, so flagging is_sponsored means tracking shifting CSS classes.
Each card shows prices, ranges, "or Best Offer", and per-region currency, all of which you must strip and normalize yourself.
Trust signals like "3.7K" feedback and "98.1%" positive ratings sit in nested tooltip markup, forcing fragile parsing to vet a seller.
eBay throttles repeated search hits and rotates the itemId structure, so a homegrown scraper needs a proxy pool and constant maintenance.
With Scrapingdog, one API call handles proxies, CAPTCHA, parsing, and scaling, so you focus on your data.
Convert any eBay search URL into clean JSON with titles, item IDs, links, conditions, and seller information.
See which products show up for your keywords and who lists them, and log new arrivals and changes.
Pull seller name, feedback count, and positive-rating % to vet partners and filter risky offers.
Use position and sponsored flags to separate organic from ads and measure how visibility shifts.
A built-in rotating proxy system automatically changes IP addresses for every request.
Scrapingdog automatically bypasses CAPTCHA and anti-bot protection used by eBay.
Receive tidy JSON with title, itemId, link, seller info, condition, and price, plus numeric fields for charts.
Pass any eBay search URL with keywords, category, or filters and get the same results page as users.
Use position and is_sponsored data to separate ads from organic results and track placements over time.
Receive structured search results in just a few seconds with our high-performance infrastructure.
Compare the top listings for a query to spot missing brands, models, and variants in your catalogue.
Use is_sponsored and position to measure how much shelf space ads take for your keywords.
See the split of New / Pre-Owned / Refurbished to guide merchandising and pricing strategy.
Extract shipping notes and free-returns flags to align your policies with market expectations.
Filter sellers by feedback count and positive rating to shortlist reliable partners or sources.
Review titles for key terms and structure to improve relevance and click-through for your own listings.
Sign up and get free credits to start testing the eBay Search API.
Copy your API key from the dashboard to authenticate every request.
Pass an eBay search URL in the url param and GET /ebay/search.
Get a search_results array with position, title, seller feedback, price, and is_sponsored.
Start your web scraping journey with 200 free credits. Test our service and upgrade to one of the plans below. Cancel anytime.

I got the free trial and in less than a minute I already integrated with their API to scrape Google, they had all the plug-and-play codes ready for me. It was seamless.
United States
I love how you can use it to scrape data from Google.
Norway
Scrapingdog is an awesome service. I use it with my Local Leads Sniper system and thanks to it I have been able to land a few clients. Great service!
Mexico
Reliable, and simple to use! It’s also inexpensive and has packaged solutions for every need (Google, LinkedIn). Highly recommend.
France
The eBay Search Scraper API allows you to programmatically retrieve detailed product information from the website, including prices, descriptions, ratings, and stock availability.
Yes, other than the eBay Search Scraper API, Scrapingdog offers Walmart Scraper API & Amazon Scraper API and gets you structured data.
Our development team continuously monitors changes in the layout and updates accordingly to ensure consistent and reliable data extraction.
Each API request consumes a certain number of credits based on the dedicated API you're using. For example the Google Search API costs 5 credits per request.
Get 200 free credits to spin the API. No credit card required!