curl --request GET \
--url https://api.amazonomics.com/v1/search/keywords \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.amazonomics.com/v1/search/keywords"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.amazonomics.com/v1/search/keywords', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.amazonomics.com/v1/search/keywords",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.amazonomics.com/v1/search/keywords"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.amazonomics.com/v1/search/keywords")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.amazonomics.com/v1/search/keywords")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"data": [
{
"search_term": "<string>",
"normalized_search_term": "<string>",
"data": {},
"summary": {
"total_periods": 123,
"best_rank": 123,
"worst_rank": 123,
"avg_rank": 123,
"latest_rank": 123,
"latest_period": "<string>"
},
"latest_data": {
"brands": [
"<string>"
],
"products": [
{
"asin": "<string>",
"title": "<string>",
"click_share": 123,
"conversion_share": 123
}
],
"categories": [
"<string>"
]
}
}
],
"pagination": {
"current_page": 2,
"page_size": 2,
"total_count": 123,
"total_pages": 123,
"has_next": true,
"has_previous": true
},
"error": {
"code": "<string>",
"message": "<string>",
"hint": "<string>",
"docs": "<string>"
}
}{
"data": null,
"error": {
"code": "<string>",
"message": "<string>",
"hint": "<string>"
}
}{
"data": [
{
"search_term": "<string>",
"normalized_search_term": "<string>",
"data": {},
"summary": {
"total_periods": 123,
"best_rank": 123,
"worst_rank": 123,
"avg_rank": 123,
"latest_rank": 123,
"latest_period": "<string>"
},
"latest_data": {
"brands": [
"<string>"
],
"products": [
{
"asin": "<string>",
"title": "<string>",
"click_share": 123,
"conversion_share": 123
}
],
"categories": [
"<string>"
]
}
}
],
"pagination": {
"current_page": 2,
"page_size": 2,
"total_count": 123,
"total_pages": 123,
"has_next": true,
"has_previous": true
},
"error": {
"code": "<string>",
"message": "<string>",
"hint": "<string>",
"docs": "<string>"
}
}Search keyword rankings
curl --request GET \
--url https://api.amazonomics.com/v1/search/keywords \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.amazonomics.com/v1/search/keywords"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.amazonomics.com/v1/search/keywords', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.amazonomics.com/v1/search/keywords",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.amazonomics.com/v1/search/keywords"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.amazonomics.com/v1/search/keywords")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.amazonomics.com/v1/search/keywords")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"data": [
{
"search_term": "<string>",
"normalized_search_term": "<string>",
"data": {},
"summary": {
"total_periods": 123,
"best_rank": 123,
"worst_rank": 123,
"avg_rank": 123,
"latest_rank": 123,
"latest_period": "<string>"
},
"latest_data": {
"brands": [
"<string>"
],
"products": [
{
"asin": "<string>",
"title": "<string>",
"click_share": 123,
"conversion_share": 123
}
],
"categories": [
"<string>"
]
}
}
],
"pagination": {
"current_page": 2,
"page_size": 2,
"total_count": 123,
"total_pages": 123,
"has_next": true,
"has_previous": true
},
"error": {
"code": "<string>",
"message": "<string>",
"hint": "<string>",
"docs": "<string>"
}
}{
"data": null,
"error": {
"code": "<string>",
"message": "<string>",
"hint": "<string>"
}
}{
"data": [
{
"search_term": "<string>",
"normalized_search_term": "<string>",
"data": {},
"summary": {
"total_periods": 123,
"best_rank": 123,
"worst_rank": 123,
"avg_rank": 123,
"latest_rank": 123,
"latest_period": "<string>"
},
"latest_data": {
"brands": [
"<string>"
],
"products": [
{
"asin": "<string>",
"title": "<string>",
"click_share": 123,
"conversion_share": 123
}
],
"categories": [
"<string>"
]
}
}
],
"pagination": {
"current_page": 2,
"page_size": 2,
"total_count": 123,
"total_pages": 123,
"has_next": true,
"has_previous": true
},
"error": {
"code": "<string>",
"message": "<string>",
"hint": "<string>",
"docs": "<string>"
}
}Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Query Parameters
Search query - one or more keywords to search for
1"laptop"
Search method to use
exact, similar "similar"
Negative keyword query to exclude from similar/full-text keyword searches. Ignored for exact searches.
"decaf"
Data frequency type
weekly, monthly "monthly"
Page number for pagination
x >= 11
Number of results per page (max 1000)
1 <= x <= 100050
Filter by brand name(s)
Filter by product ASIN(s)
Filter by friendly category bucket name(s). Known stored category names are also accepted; unmatched values are treated as Other.
Field to sort results by, or a period (MM-YYYY/WW-YYYY)
latest_period, latest_rank, best_rank, worst_rank, avg_rank, total_periods, fts_rank, similarity_score, best_match "latest_period"
Sort direction
asc, desc, ASC, DESC "DESC"
Exclude results with null values in the latest period
false
Value format for period columns in exports
raw, delta, percentage "raw"
Percentage threshold for color coding (0-50). Changes below this threshold show as neutral.
0 <= x <= 5020
Was this page helpful?