LogoLogo
Release NotesDataPipelineFAQs
PHP
PHP
  • Making Requests
    • API Endpoint Method
    • Proxy Port Method
    • SDK Method
    • Async Requests Method
      • How to use
      • Callbacks
      • API Parameters
      • Async Batch Requests
      • Decoding
    • Structured Data Collection Method
      • Amazon Product Page API
      • Amazon Search API
      • Amazon Offers API
      • Amazon Reviews API
      • Ebay Product Page API
      • Ebay Search API
      • Google SERP API
      • Google News API
      • Google Jobs API
      • Google Shopping API
      • Google Maps Search API
      • Redfin Agent Details API
      • Redfin 'For Rent' Listings API
      • Redfin 'For Sale' Listings API
      • Redfin Listing Search API
      • Walmart Search API
      • Walmart Category API
      • Walmart Product API
      • Walmart Reviews API
    • Async Structured Data Collection Method
      • Amazon Product Page API (Async)
      • Amazon Search API (Async)
      • Amazon Offers API (Async)
      • Amazon Reviews API (Async)
      • Ebay Product Page API (Async)
      • Ebay Search API (Async)
      • Google Search API (Async)
      • Google News API (Async)
      • Google Jobs API (Async)
      • Google Shopping API (Async)
      • Google Maps Search API (Async)
      • Redfin Agent Details API (Async)
      • Redfin 'For Rent' Listings API (Async)
      • Redfin 'For Sale' Listings API (Async)
      • Redfin Listing Search API (Async)
      • Walmart Search API (Async)
      • Walmart Category API (Async)
      • Walmart Product API (Async)
      • Walmart Reviews API (Async)
    • Making POST/PUT Requests
    • Customizing Requests
      • Amazon ZIP Code Targeting
      • Cached Results
      • Cost Control
      • Custom Headers
      • Device Type
      • Geotargeting
      • Geotargeting (Premium)
      • Parameters as Headers
      • Premium Residential/Mobile Proxy Pools
      • Rendering Javascript
        • Render Instruction Set
        • Screenshot Capture🆕
      • Sessions
  • Handling and Processing Responses
    • API Status Codes
    • Output Formats
      • JSON Response - Autoparse 📜
      • LLM Output Formats 💻
    • Response Encoding and Content-Type
  • Dashboard & Billing
    • API Key
    • Credit Usage
    • Delete Account
    • Invoice History
    • Billing Email
    • Billing Address
    • VAT Number
    • Payment Method
    • Cancel Subscription
  • Credits and Requests
  • Account Information
  • Documentation Overview
Powered by GitBook

Quick links

  • Homepage
  • Dashboard
  • Pricing
  • Contact Sales

Resources

  • Developer Guides
  • Blog
  • Contact Support
  • Learning Hub
On this page

Was this helpful?

  1. Making Requests
  2. Async Structured Data Collection Method

Amazon Search API (Async)

This endpoint will retrieve products for a specified search term from Amazon search page and transform it into usable JSON.

Single Query request:

<?php
$curl = curl_init();
$data = json_encode(array(
    'apiKey' => 'APIKEY',
    'query' => 'QUERY',
    'country_code' => 'COUNTRY_CODE',
    'tld' => 'TLD',
    'callback' => array(
        'type' => 'webhook',
        'url' => 'CALLBACK'
    )
));
curl_setopt_array($curl, array(
  CURLOPT_URL => 'https://async.scraperapi.com/structured/amazon/search',
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => '',
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 0,
  CURLOPT_FOLLOWLOCATION => true,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => 'POST',
  CURLOPT_POSTFIELDS => $data,
  CURLOPT_HTTPHEADER => array(
    'Content-Type: application/json'
  ),
));
$response = curl_exec($curl);
if (curl_errno($curl)) {
    echo 'Error:' . curl_error($curl);
} else {
    echo $response;
}
curl_close($curl);
?>

Multiple Query request:

<?php
$curl = curl_init();
$data = json_encode(array(
    'apiKey' => 'APIKEY',
    'queries' => ['QUERY1','QUERY2', 'QUERY3'],
    'country_code' => 'COUNTRY_CODE',
    'tld' => 'TLD',
    'callback' => array(
        'type' => 'webhook',
        'url' => 'CALLBACK'
    )
));
curl_setopt_array($curl, array(
  CURLOPT_URL => 'http://async.scraperapi.com/structured/amazon/search',
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => '',
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 0,
  CURLOPT_FOLLOWLOCATION => true,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => 'POST',
  CURLOPT_POSTFIELDS => $data,
  CURLOPT_HTTPHEADER => array(
    'Content-Type: application/json'
  ),
));
$response = curl_exec($curl);
if (curl_errno($curl)) {
    echo 'Error:' . curl_error($curl);
} else {
    echo $response;
}
curl_close($curl);
?>

Parameters available for this method:

REQUIRED

ApiKey

User account’s normal API key.

QUERY

Search term.

OPTIONAL

TLD

Valid values include:

com (amazon.com)

co.uk (amazon.co.uk)

ca (amazon.ca)

de (amazon.de)

es (amazon.es)

fr (amazon.fr)

it (amazon.it)

jp (amazon.co.jp)

in (amazon.in)

cn (amazon.cn)

sg (amazon.com.sg)

mx (amazon.com.mx)

ae (amazon.ae)

br (amazon.com.br)

nl (amazon.nl)

au (amazon.com.au)

tr (amazon.com.tr)

sa (amazon.sa)

se (amazon.se)

pl (amazon.pl)

COUNTRY

Valid values are two letter country codes for which we offer Geo Targeting (e.g. “au”, “es”, “it”, etc.).

Where an amazon domain needs to be scraped from another country (e.g. scraping amazon.com from Canada to get Canadian shipping information), both TLD and COUNTRY parameters must be specified.

REFERENCE

A reference string used by amazon. For example: olp_f_usedAcceptable

SORTING

Change sorting.

For example: price-desc-rank

Sample Response

Single Query Request:

{
	"id": "f9c41146-ecd3-415c-ae0a-461de670e2e8",
	"status": "running",
	"statusUrl": "http://async.scraperapi.com/structured/amazon/search/f9c41146-ecd3-415c-ae0a-461de670e2e8",
	"query": "ball"
}

Multiple Query Request:

[
[
	{
		"id": "5b0c838a-d0eb-46c3-ad9a-e82e398d56a5",
		"status": "running",
		"statusUrl": "http://async.scraperapi.com/structured/amazon/search/5b0c838a-d0eb-46c3-ad9a-e82e398d56a5",
		"query": "ball"
	},
	{
		"id": "df83b9e1-be25-40de-8702-4e934f057867",
		"status": "running",
		"statusUrl": "http://async.scraperapi.com/structured/amazon/search/df83b9e1-be25-40de-8702-4e934f057867",
		"query": "motorbike"
	}
]

After the job(s) finish, you will find the result under the response key in the response JSON object. The structure is the same as in the corresponding SYNC data endpoint.

Last updated 6 months ago

Was this helpful?