Utility APIs
Use helper endpoints for supported SERP locations and Amazon metadata.
WebScrapingAPI provides helper APIs for metadata that is useful before you build a paid scraping request. These endpoints are GET-only and do not require an API key.
Locations API
The Locations API returns supported SERP API locations.
curl --get "https://locations.webscrapingapi.com" \
--data-urlencode "q=Austin" \
--data-urlencode "limit=5"const url = new URL("https://locations.webscrapingapi.com");
url.searchParams.set("q", "Austin");
url.searchParams.set("limit", "5");
const response = await fetch(url);
const data = await response.json();
console.log(data);import requests
response = requests.get(
"https://locations.webscrapingapi.com",
params={"q": "Austin", "limit": 5},
)
print(response.json())<?php
$query = http_build_query([
"q" => "Austin",
"limit" => 5,
]);
$ch = curl_init("https://locations.webscrapingapi.com?" . $query);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
curl_close($ch);
echo $response;package main
import (
"fmt"
"io"
"net/http"
"net/url"
)
func main() {
endpoint, _ := url.Parse("https://locations.webscrapingapi.com")
query := endpoint.Query()
query.Set("q", "Austin")
query.Set("limit", "5")
endpoint.RawQuery = query.Encode()
response, err := http.Get(endpoint.String())
if err != nil {
panic(err)
}
defer response.Body.Close()
body, _ := io.ReadAll(response.Body)
fmt.Println(string(body))
}import java.net.URI;
import java.net.URLEncoder;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
import java.nio.charset.StandardCharsets;
public class Main {
public static void main(String[] args) throws Exception {
String query = "q=" + URLEncoder.encode("Austin", StandardCharsets.UTF_8)
+ "&limit=5";
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://locations.webscrapingapi.com?" + query))
.GET()
.build();
HttpResponse<String> response = HttpClient.newHttpClient().send(
request,
HttpResponse.BodyHandlers.ofString()
);
System.out.println(response.body());
}
}using System.Net.Http;
using var client = new HttpClient();
var response = await client.GetStringAsync(
"https://locations.webscrapingapi.com?q=Austin&limit=5"
);
Console.WriteLine(response);require "net/http"
require "uri"
uri = URI("https://locations.webscrapingapi.com")
uri.query = URI.encode_www_form(q: "Austin", limit: 5)
response = Net::HTTP.get(uri)
puts responseParameters
| Name | Required | Description |
|---|---|---|
q | ❌ | Filters locations that contain the supplied string. |
limit | ✅ | Maximum number of locations to return. |
Response
[
{
"Criteria ID": "1014438",
"Name": "Austin",
"Canonical Name": "Austin",
"Parent ID": "Colorado",
"Country Code": "United States",
"Target Type": "21138",
"Status": "US"
}
]Use the returned location metadata when a SERP engine accepts a location or geotarget parameter.
Amazon Helpers API
The Amazon Helpers API returns supported Amazon categories, countries, and languages.
Categories
curl --get "https://amazon-helpers.webscrapingapi.com/categories" \
--data-urlencode "q=Baby" \
--data-urlencode "limit=10"const url = new URL("https://amazon-helpers.webscrapingapi.com/categories");
url.searchParams.set("q", "Baby");
url.searchParams.set("limit", "10");
const response = await fetch(url);
const data = await response.json();
console.log(data);import requests
response = requests.get(
"https://amazon-helpers.webscrapingapi.com/categories",
params={"q": "Baby", "limit": 10},
)
print(response.json())<?php
$query = http_build_query([
"q" => "Baby",
"limit" => 10,
]);
$ch = curl_init("https://amazon-helpers.webscrapingapi.com/categories?" . $query);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
curl_close($ch);
echo $response;package main
import (
"fmt"
"io"
"net/http"
"net/url"
)
func main() {
endpoint, _ := url.Parse("https://amazon-helpers.webscrapingapi.com/categories")
query := endpoint.Query()
query.Set("q", "Baby")
query.Set("limit", "10")
endpoint.RawQuery = query.Encode()
response, err := http.Get(endpoint.String())
if err != nil {
panic(err)
}
defer response.Body.Close()
body, _ := io.ReadAll(response.Body)
fmt.Println(string(body))
}import java.net.URI;
import java.net.URLEncoder;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
import java.nio.charset.StandardCharsets;
public class Main {
public static void main(String[] args) throws Exception {
String query = "q=" + URLEncoder.encode("Baby", StandardCharsets.UTF_8)
+ "&limit=10";
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://amazon-helpers.webscrapingapi.com/categories?" + query))
.GET()
.build();
HttpResponse<String> response = HttpClient.newHttpClient().send(
request,
HttpResponse.BodyHandlers.ofString()
);
System.out.println(response.body());
}
}using System.Net.Http;
using var client = new HttpClient();
var response = await client.GetStringAsync(
"https://amazon-helpers.webscrapingapi.com/categories?q=Baby&limit=10"
);
Console.WriteLine(response);require "net/http"
require "uri"
uri = URI("https://amazon-helpers.webscrapingapi.com/categories")
uri.query = URI.encode_www_form(q: "Baby", limit: 10)
response = Net::HTTP.get(uri)
puts response| Name | Required | Description |
|---|---|---|
q | ❌ | Filters categories that contain the supplied string. |
limit | ❌ | Maximum number of categories to return. |
[
{
"category_id": "3045",
"parent_alias": "books",
"category_title": "Children's Family Life Books",
"page_title": "Amazon.com: Family Life: Books",
"link": "https://www.amazon.com/b?ie=UTF8&node=3045"
}
]Countries
curl "https://amazon-helpers.webscrapingapi.com/countries"const response = await fetch("https://amazon-helpers.webscrapingapi.com/countries");
const data = await response.json();
console.log(data);import requests
response = requests.get("https://amazon-helpers.webscrapingapi.com/countries")
print(response.json())<?php
$ch = curl_init("https://amazon-helpers.webscrapingapi.com/countries");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
curl_close($ch);
echo $response;package main
import (
"fmt"
"io"
"net/http"
)
func main() {
response, err := http.Get("https://amazon-helpers.webscrapingapi.com/countries")
if err != nil {
panic(err)
}
defer response.Body.Close()
body, _ := io.ReadAll(response.Body)
fmt.Println(string(body))
}import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
public class Main {
public static void main(String[] args) throws Exception {
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://amazon-helpers.webscrapingapi.com/countries"))
.GET()
.build();
HttpResponse<String> response = HttpClient.newHttpClient().send(
request,
HttpResponse.BodyHandlers.ofString()
);
System.out.println(response.body());
}
}using System.Net.Http;
using var client = new HttpClient();
var response = await client.GetStringAsync(
"https://amazon-helpers.webscrapingapi.com/countries"
);
Console.WriteLine(response);require "net/http"
require "uri"
uri = URI("https://amazon-helpers.webscrapingapi.com/countries")
response = Net::HTTP.get(uri)
puts responseUse this endpoint to find supported Amazon marketplaces before setting marketplace-specific Amazon request parameters.
Languages
curl "https://amazon-helpers.webscrapingapi.com/languages"const response = await fetch("https://amazon-helpers.webscrapingapi.com/languages");
const data = await response.json();
console.log(data);import requests
response = requests.get("https://amazon-helpers.webscrapingapi.com/languages")
print(response.json())<?php
$ch = curl_init("https://amazon-helpers.webscrapingapi.com/languages");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
curl_close($ch);
echo $response;package main
import (
"fmt"
"io"
"net/http"
)
func main() {
response, err := http.Get("https://amazon-helpers.webscrapingapi.com/languages")
if err != nil {
panic(err)
}
defer response.Body.Close()
body, _ := io.ReadAll(response.Body)
fmt.Println(string(body))
}import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
public class Main {
public static void main(String[] args) throws Exception {
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://amazon-helpers.webscrapingapi.com/languages"))
.GET()
.build();
HttpResponse<String> response = HttpClient.newHttpClient().send(
request,
HttpResponse.BodyHandlers.ofString()
);
System.out.println(response.body());
}
}using System.Net.Http;
using var client = new HttpClient();
var response = await client.GetStringAsync(
"https://amazon-helpers.webscrapingapi.com/languages"
);
Console.WriteLine(response);require "net/http"
require "uri"
uri = URI("https://amazon-helpers.webscrapingapi.com/languages")
response = Net::HTTP.get(uri)
puts responseUse this endpoint to find supported Amazon language options for localized Amazon responses.