curl --request GET \
--url https://api.archeraffiliates.com/get_single_product \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.archeraffiliates.com/get_single_product"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.archeraffiliates.com/get_single_product', 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.archeraffiliates.com/get_single_product",
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.archeraffiliates.com/get_single_product"
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.archeraffiliates.com/get_single_product")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.archeraffiliates.com/get_single_product")
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{
"product_available": true,
"product_status": "active",
"ASIN": "<string>",
"product_name": "<string>",
"marketplace": "<string>",
"pricing": {
"price": 123,
"currency": "<string>"
},
"price": "<string>",
"commission": 123,
"commission_payout_aff": "<string>",
"image_encoded_string": "<string>",
"images": [
"<string>"
],
"list_price": 123,
"avg_rating": "<string>",
"total_reviews": "<string>",
"best_seller": false,
"sales_rank": 123,
"rank_category": "<string>",
"monthly_sold": 123,
"inStock": true,
"product_url": "<string>",
"company_name": "<string>",
"brand_name": "<string>",
"company_logo": "<string>",
"brand_id": "<string>",
"product_category": "<string>",
"sub_category": [
{}
],
"is_variant_of": "<string>"
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>",
"input": "<unknown>",
"ctx": {}
}
]
}Look up one product by ASIN
Returns full product details for one ASIN on one Amazon marketplace. It uses the same ProductCatalogItem response schema as each row from /getproducts, including the image gallery, list price, and product ranking fields. When a legacy product has no stored gallery, images falls back to [image_encoded_string]; it is empty only when no primary image exists. If the product is not found in that marketplace, you get a 404.
curl --request GET \
--url https://api.archeraffiliates.com/get_single_product \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.archeraffiliates.com/get_single_product"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.archeraffiliates.com/get_single_product', 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.archeraffiliates.com/get_single_product",
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.archeraffiliates.com/get_single_product"
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.archeraffiliates.com/get_single_product")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.archeraffiliates.com/get_single_product")
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{
"product_available": true,
"product_status": "active",
"ASIN": "<string>",
"product_name": "<string>",
"marketplace": "<string>",
"pricing": {
"price": 123,
"currency": "<string>"
},
"price": "<string>",
"commission": 123,
"commission_payout_aff": "<string>",
"image_encoded_string": "<string>",
"images": [
"<string>"
],
"list_price": 123,
"avg_rating": "<string>",
"total_reviews": "<string>",
"best_seller": false,
"sales_rank": 123,
"rank_category": "<string>",
"monthly_sold": 123,
"inStock": true,
"product_url": "<string>",
"company_name": "<string>",
"brand_name": "<string>",
"company_logo": "<string>",
"brand_id": "<string>",
"product_category": "<string>",
"sub_category": [
{}
],
"is_variant_of": "<string>"
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>",
"input": "<unknown>",
"ctx": {}
}
]
}Authorizations
The access token received from the authorization server in the OAuth 2.0 flow.
Query Parameters
Which Amazon marketplace to look the product up on, e.g. amazon.co.uk.
yes only returns the product if it's currently buyable. Use either to look up unavailable products too.
yes, no, either Response
Successful Response
A product in the Archer catalog.
True when the product is active, in stock, not deleted, and not affected by an Amazon account failure.
Current catalog status, including the reason when the product is unavailable.
active, deleted, amazon_account_temporarily_disconnected, out_of_stock, inactive Amazon product identifier.
Product title.
Amazon marketplace the product belongs to, e.g. amazon.co.uk.
Numeric price and its currency.
Show child attributes
Show child attributes
Price as a plain string. Use pricing.price if you want a number.
Affiliate commission rate you would earn on a sale, as a number.
Affiliate commission rate as a plain string. Use commission if you want a number.
URL of the product image.
Ordered product image gallery URLs. When no gallery is stored, this falls back to [image_encoded_string]; it is empty only when the product has no primary image.
Amazon list (was) price, when higher than the current price.
Average star rating as a string.
Number of customer reviews, as a string.
True when Amazon marks the product as a best seller.
Amazon best-seller rank in rank_category.
Category associated with sales_rank.
Recent monthly unit-sales estimate, when available.
True when the product is not out of stock, independent of promotion availability.
Ready-to-share Amazon URL on the correct marketplace.
Brand name.
Brand name (same value as company_name).
URL of the brand logo.
Brand identifier you can pass back to /getproducts?brand_id=….
Top-level product category.
Sub-categories the product appears under.
Parent ASIN when this is a variant of another product.