curl --request POST \
--url https://api.anysite.io/api/takealot/products \
--header 'Content-Type: application/json' \
--header 'access-token: <api-key>' \
--data '
{
"product": "<string>",
"timeout": 300
}
'import requests
url = "https://api.anysite.io/api/takealot/products"
payload = {
"product": "<string>",
"timeout": 300
}
headers = {
"access-token": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'access-token': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({product: '<string>', timeout: 300})
};
fetch('https://api.anysite.io/api/takealot/products', 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.anysite.io/api/takealot/products",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'product' => '<string>',
'timeout' => 300
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"access-token: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.anysite.io/api/takealot/products"
payload := strings.NewReader("{\n \"product\": \"<string>\",\n \"timeout\": 300\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("access-token", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.anysite.io/api/takealot/products")
.header("access-token", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"product\": \"<string>\",\n \"timeout\": 300\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.anysite.io/api/takealot/products")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["access-token"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"product\": \"<string>\",\n \"timeout\": 300\n}"
response = http.request(request)
puts response.read_body[
{
"id": 123,
"plid": "<string>",
"product_title": "<string>",
"@type": "TakealotProduct",
"alias": "<string>",
"subtitle": "<string>",
"brand": "<string>",
"url": "<string>",
"price": 123,
"list_price": 123,
"currency": "ZAR",
"saving": "<string>",
"is_in_stock": true,
"is_marketplace": true,
"is_preorder": true,
"is_free_shipping": true,
"sku": 123,
"tsin": 123,
"rating": 123,
"review_count": 123,
"rating_distribution": {
"@type": "TakealotRatingDistribution",
"one_star_count": 0,
"two_star_count": 0,
"three_star_count": 0,
"four_star_count": 0,
"five_star_count": 0
},
"breadcrumbs": [],
"images": [],
"specifications": [],
"bullet_points": [],
"loyalty_prices": [],
"credit_option": {
"@type": "TakealotCreditOption",
"provider": "<string>",
"monthly_price": 123,
"months": 123,
"cashback": "<string>",
"more_cashback": "<string>"
},
"variants": [],
"seller": {
"id": 123,
"@type": "TakealotSeller",
"name": "<string>",
"alias": "<string>",
"rating": 123,
"review_count": 123,
"is_vat_registered": true
},
"other_offers": []
}
]{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>",
"input": "<unknown>",
"ctx": {}
}
]
}/takealot/products
Get full Takealot product details by PLID (or product URL): title, brand, price and list price (ZAR), saving, stock and marketplace flags, rating with 1-5 star distribution, category breadcrumbs, gallery images, description, specifications, bullet points, loyalty prices, financing (credit option), colour/size variants, the marketplace seller (name, rating, review count) when the item is sold by a third party, and competing other offers (New/Used conditions with their own price, stock and seller).
Price: 1 credit
⚠️ Common errors: 412: Product not found (well-formed but nonexistent PLID)
curl --request POST \
--url https://api.anysite.io/api/takealot/products \
--header 'Content-Type: application/json' \
--header 'access-token: <api-key>' \
--data '
{
"product": "<string>",
"timeout": 300
}
'import requests
url = "https://api.anysite.io/api/takealot/products"
payload = {
"product": "<string>",
"timeout": 300
}
headers = {
"access-token": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'access-token': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({product: '<string>', timeout: 300})
};
fetch('https://api.anysite.io/api/takealot/products', 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.anysite.io/api/takealot/products",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'product' => '<string>',
'timeout' => 300
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"access-token: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.anysite.io/api/takealot/products"
payload := strings.NewReader("{\n \"product\": \"<string>\",\n \"timeout\": 300\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("access-token", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.anysite.io/api/takealot/products")
.header("access-token", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"product\": \"<string>\",\n \"timeout\": 300\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.anysite.io/api/takealot/products")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["access-token"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"product\": \"<string>\",\n \"timeout\": 300\n}"
response = http.request(request)
puts response.read_body[
{
"id": 123,
"plid": "<string>",
"product_title": "<string>",
"@type": "TakealotProduct",
"alias": "<string>",
"subtitle": "<string>",
"brand": "<string>",
"url": "<string>",
"price": 123,
"list_price": 123,
"currency": "ZAR",
"saving": "<string>",
"is_in_stock": true,
"is_marketplace": true,
"is_preorder": true,
"is_free_shipping": true,
"sku": 123,
"tsin": 123,
"rating": 123,
"review_count": 123,
"rating_distribution": {
"@type": "TakealotRatingDistribution",
"one_star_count": 0,
"two_star_count": 0,
"three_star_count": 0,
"four_star_count": 0,
"five_star_count": 0
},
"breadcrumbs": [],
"images": [],
"specifications": [],
"bullet_points": [],
"loyalty_prices": [],
"credit_option": {
"@type": "TakealotCreditOption",
"provider": "<string>",
"monthly_price": 123,
"months": 123,
"cashback": "<string>",
"more_cashback": "<string>"
},
"variants": [],
"seller": {
"id": 123,
"@type": "TakealotSeller",
"name": "<string>",
"alias": "<string>",
"rating": 123,
"review_count": 123,
"is_vat_registered": true
},
"other_offers": []
}
]{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>",
"input": "<unknown>",
"ctx": {}
}
]
}Authorizations
API token from the dashboard
Headers
Body
Response
Successful Response
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes