This endpoint will retrieve product data from an Ebay product pages (/itm/) and transform it into usable JSON.
Single product request:
require 'net/http'
require 'json'
require 'uri'
uri = URI('https://async.scraperapi.com/structured/ebay/product')
request = Net::HTTP::Post.new(uri, 'Content-Type' => 'application/json')
request.body = {
apiKey: 'APIKEY',
productId: 'PRODUCTID',
country_code: 'COUNTRY_CODE',
tld: 'TLD',
callback: {
type: 'webhook',
url: 'CALLBACK'
}
}.to_json
begin
response = Net::HTTP.start(uri.hostname, uri.port, use_ssl: true) do |http|
http.request(request)
end
puts response.body
rescue => e
puts "Error: #{e.message}"
end
Multiple products Request:
require 'net/http'
require 'json'
require 'uri'
uri = URI('https://async.scraperapi.com/structured/ebay/product')
request = Net::HTTP::Post.new(uri, 'Content-Type' => 'application/json')
request.body = {
apiKey: 'APIKEY',
productIds: ['PRODUCTID1', 'PRODUCTID2'],
country_code: 'COUNTRY_CODE',
tld: 'TLD',
callback: {
type: 'webhook',
url: 'CALLBACK'
}
}.to_json
begin
response = Net::HTTP.start(uri.hostname, uri.port, use_ssl: true) do |http|
http.request(request)
end
puts response.body
rescue => e
puts "Error: #{e.message}"
end
Parameters
Details
API_KEY (required)
User's normal API Key
PRODUCTID (required)
ebay product ID. 12 digits. Example: 166619046796
TLD
Top-level Ebay domain to scrape. This is an optional argument and defaults to “com” (ebay.com). Valid values include:
com (ebay.com)
co.uk (ebay.co.uk)
com.au (ebay.com.au)
de (ebay.de)
ca (ebay.ca)
fr (ebay.fr)
it (ebay.it)
es (ebay.es)
at (ebay.at)
ch (ebay.ch)
com.sg (ebay.com.sg)
com.my (ebay.com.my)
ph (ebay.ph)
ie (ebay.ie)
pl (ebay.pl)
nl (ebay.nl)
COUNTRY
country_code influences the language and the currency of the page. The TLD should be set to ‘com’ if you are using languages that are not used by the TLDs listed above.