curl --request POST \
--url https://api.anysite.io/api/aliexpress/products/search \
--header 'Content-Type: application/json' \
--header 'access-token: <api-key>' \
--data '
{
"keyword": "<string>",
"count": 2,
"timeout": 300,
"language": "en_US",
"currency": "USD",
"sort": "best_match",
"min_price": 1,
"max_price": 1,
"country": "US",
"free_shipping": false,
"choice": false,
"four_star_and_up": false,
"local_shipping": false,
"filters": []
}
'import requests
url = "https://api.anysite.io/api/aliexpress/products/search"
payload = {
"keyword": "<string>",
"count": 2,
"timeout": 300,
"language": "en_US",
"currency": "USD",
"sort": "best_match",
"min_price": 1,
"max_price": 1,
"country": "US",
"free_shipping": False,
"choice": False,
"four_star_and_up": False,
"local_shipping": False,
"filters": []
}
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({
keyword: '<string>',
count: 2,
timeout: 300,
language: 'en_US',
currency: 'USD',
sort: 'best_match',
min_price: 1,
max_price: 1,
country: 'US',
free_shipping: false,
choice: false,
four_star_and_up: false,
local_shipping: false,
filters: []
})
};
fetch('https://api.anysite.io/api/aliexpress/products/search', 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/aliexpress/products/search",
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([
'keyword' => '<string>',
'count' => 2,
'timeout' => 300,
'language' => 'en_US',
'currency' => 'USD',
'sort' => 'best_match',
'min_price' => 1,
'max_price' => 1,
'country' => 'US',
'free_shipping' => false,
'choice' => false,
'four_star_and_up' => false,
'local_shipping' => false,
'filters' => [
]
]),
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/aliexpress/products/search"
payload := strings.NewReader("{\n \"keyword\": \"<string>\",\n \"count\": 2,\n \"timeout\": 300,\n \"language\": \"en_US\",\n \"currency\": \"USD\",\n \"sort\": \"best_match\",\n \"min_price\": 1,\n \"max_price\": 1,\n \"country\": \"US\",\n \"free_shipping\": false,\n \"choice\": false,\n \"four_star_and_up\": false,\n \"local_shipping\": false,\n \"filters\": []\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/aliexpress/products/search")
.header("access-token", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"keyword\": \"<string>\",\n \"count\": 2,\n \"timeout\": 300,\n \"language\": \"en_US\",\n \"currency\": \"USD\",\n \"sort\": \"best_match\",\n \"min_price\": 1,\n \"max_price\": 1,\n \"country\": \"US\",\n \"free_shipping\": false,\n \"choice\": false,\n \"four_star_and_up\": false,\n \"local_shipping\": false,\n \"filters\": []\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.anysite.io/api/aliexpress/products/search")
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 \"keyword\": \"<string>\",\n \"count\": 2,\n \"timeout\": 300,\n \"language\": \"en_US\",\n \"currency\": \"USD\",\n \"sort\": \"best_match\",\n \"min_price\": 1,\n \"max_price\": 1,\n \"country\": \"US\",\n \"free_shipping\": false,\n \"choice\": false,\n \"four_star_and_up\": false,\n \"local_shipping\": false,\n \"filters\": []\n}"
response = http.request(request)
puts response.read_body[
{
"id": "<string>",
"product_url": "<string>",
"@type": "AliexpressSearchProduct",
"product_title": "<string>",
"image": "<string>",
"images": [],
"price": 123,
"price_text": "<string>",
"original_price": 123,
"original_price_text": "<string>",
"currency": "<string>",
"discount": 123,
"rating": 123,
"sold_text": "<string>",
"sold_count": 123,
"is_choice": false,
"is_sponsored": false,
"listed_at": 123,
"listed_at_text": "<string>",
"sku_id": "<string>",
"category_ids": [],
"delivery_min_days": 123,
"delivery_max_days": 123,
"selling_points": []
}
]{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>",
"input": "<unknown>",
"ctx": {}
}
]
}/aliexpress/products/search
Search AliExpress products by keyword. Returns product cards with id, title, image and images, sale and original price, discount, rating, sold counts, AliExpress Choice and sponsored flags, listing date, category ids, estimated delivery window and promotional selling points. Supports sorting, price range, ship-from country, the Choice, free-shipping, local-shipping and 4-stars-and-up switches, the keyword’s own attribute facets, plus an independent ship-to country, content language and currency.
Price: 20 credits per 60 results
⚠️ Common errors: 422: Filter group or value not offered for this keyword — note AliExpress ships facet values incompletely and inconsistently, so a rarely-offered value can be rejected even though it exists, and repeating the call can resolve it; or a shipping region AliExpress serves from a separate regional marketplace this endpoint does not cover
curl --request POST \
--url https://api.anysite.io/api/aliexpress/products/search \
--header 'Content-Type: application/json' \
--header 'access-token: <api-key>' \
--data '
{
"keyword": "<string>",
"count": 2,
"timeout": 300,
"language": "en_US",
"currency": "USD",
"sort": "best_match",
"min_price": 1,
"max_price": 1,
"country": "US",
"free_shipping": false,
"choice": false,
"four_star_and_up": false,
"local_shipping": false,
"filters": []
}
'import requests
url = "https://api.anysite.io/api/aliexpress/products/search"
payload = {
"keyword": "<string>",
"count": 2,
"timeout": 300,
"language": "en_US",
"currency": "USD",
"sort": "best_match",
"min_price": 1,
"max_price": 1,
"country": "US",
"free_shipping": False,
"choice": False,
"four_star_and_up": False,
"local_shipping": False,
"filters": []
}
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({
keyword: '<string>',
count: 2,
timeout: 300,
language: 'en_US',
currency: 'USD',
sort: 'best_match',
min_price: 1,
max_price: 1,
country: 'US',
free_shipping: false,
choice: false,
four_star_and_up: false,
local_shipping: false,
filters: []
})
};
fetch('https://api.anysite.io/api/aliexpress/products/search', 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/aliexpress/products/search",
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([
'keyword' => '<string>',
'count' => 2,
'timeout' => 300,
'language' => 'en_US',
'currency' => 'USD',
'sort' => 'best_match',
'min_price' => 1,
'max_price' => 1,
'country' => 'US',
'free_shipping' => false,
'choice' => false,
'four_star_and_up' => false,
'local_shipping' => false,
'filters' => [
]
]),
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/aliexpress/products/search"
payload := strings.NewReader("{\n \"keyword\": \"<string>\",\n \"count\": 2,\n \"timeout\": 300,\n \"language\": \"en_US\",\n \"currency\": \"USD\",\n \"sort\": \"best_match\",\n \"min_price\": 1,\n \"max_price\": 1,\n \"country\": \"US\",\n \"free_shipping\": false,\n \"choice\": false,\n \"four_star_and_up\": false,\n \"local_shipping\": false,\n \"filters\": []\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/aliexpress/products/search")
.header("access-token", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"keyword\": \"<string>\",\n \"count\": 2,\n \"timeout\": 300,\n \"language\": \"en_US\",\n \"currency\": \"USD\",\n \"sort\": \"best_match\",\n \"min_price\": 1,\n \"max_price\": 1,\n \"country\": \"US\",\n \"free_shipping\": false,\n \"choice\": false,\n \"four_star_and_up\": false,\n \"local_shipping\": false,\n \"filters\": []\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.anysite.io/api/aliexpress/products/search")
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 \"keyword\": \"<string>\",\n \"count\": 2,\n \"timeout\": 300,\n \"language\": \"en_US\",\n \"currency\": \"USD\",\n \"sort\": \"best_match\",\n \"min_price\": 1,\n \"max_price\": 1,\n \"country\": \"US\",\n \"free_shipping\": false,\n \"choice\": false,\n \"four_star_and_up\": false,\n \"local_shipping\": false,\n \"filters\": []\n}"
response = http.request(request)
puts response.read_body[
{
"id": "<string>",
"product_url": "<string>",
"@type": "AliexpressSearchProduct",
"product_title": "<string>",
"image": "<string>",
"images": [],
"price": 123,
"price_text": "<string>",
"original_price": 123,
"original_price_text": "<string>",
"currency": "<string>",
"discount": 123,
"rating": 123,
"sold_text": "<string>",
"sold_count": 123,
"is_choice": false,
"is_sponsored": false,
"listed_at": 123,
"listed_at_text": "<string>",
"sku_id": "<string>",
"category_ids": [],
"delivery_min_days": 123,
"delivery_max_days": 123,
"selling_points": []
}
]{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>",
"input": "<unknown>",
"ctx": {}
}
]
}Authorizations
API token from the dashboard
Headers
Body
1x >= 120 <= x <= 1500ar_MA, de_DE, en_US, es_ES, fr_FR, in_ID, it_IT, iw_IL, ja_JP, ko_KR, nl_NL, pl_PL, pt_BR, ru_RU, th_TH, tr_TR, vi_VN USD, EUR, GBP, CAD, AUD, RUB, BRL, CLP, JPY, KRW, CHF, SEK, PLN, ILS, NOK, DKK, NZD, MXN, COP, TRY, THB, SGD, MYR, PHP, IDR, INR, VND, HKD, TWD, AED, SAR, CZK, HUF, RON, BGN, UAH, KZT, ARS, EGP, ZAR, CNY, PEN best_match, orders, price_low_to_high, price_high_to_low x >= 0x >= 0AD, AE, AF, AG, AI, AL, AM, AN, AO, AR, AS, ASC, AT, AU, AW, AX, AZ, BA, BB, BD, BE, BF, BG, BH, BI, BJ, BL, BM, BN, BO, BQ, BR, BS, BT, BW, BY, BZ, CA, CC, CD, CF, CG, CH, CI, CK, CL, CM, CO, CR, CV, CW, CX, CY, CZ, DE, DJ, DK, DM, DO, DZ, EAZ, EC, EE, EG, ER, ES, ET, FI, FJ, FK, FM, FO, FR, GA, GBA, GD, GE, GF, GG, GH, GI, GL, GM, GN, GP, GQ, GR, GS, GT, GU, GW, GY, HK, HN, HR, HT, HU, IE, IL, IQ, IS, IT, JE, JM, JO, JP, KE, KG, KH, KI, KM, KN, KR, KS, KW, KY, KZ, LA, LB, LC, LI, LK, LR, LS, LT, LU, LV, LY, MA, MC, MD, ME, MF, MG, MH, MK, ML, MM, MN, MO, MP, MQ, MR, MS, MT, MU, MV, MW, MX, MY, MZ, NA, NC, NE, NF, NG, NI, NL, NO, NP, NR, NU, NZ, OM, PA, PE, PF, PG, PH, PK, PL, PM, PR, PS, PT, PW, PY, QA, RE, RO, RU, RW, SA, SB, SC, SE, SG, SI, SK, SL, SM, SN, SO, SR, SRB, SS, ST, SV, SX, SZ, TC, TD, TG, TH, TJ, TL, TM, TN, TO, TR, TT, TV, TW, TZ, UA, UG, UK, US, UY, UZ, VA, VC, VE, VG, VI, VN, VU, WF, WS, YE, YT, ZA, ZM, ZW AD, AE, AF, AG, AI, AL, AM, AN, AO, AR, AS, ASC, AT, AU, AW, AX, AZ, BA, BB, BD, BE, BF, BG, BH, BI, BJ, BL, BM, BN, BO, BQ, BR, BS, BT, BW, BY, BZ, CA, CC, CD, CF, CG, CH, CI, CK, CL, CM, CO, CR, CV, CW, CX, CY, CZ, DE, DJ, DK, DM, DO, DZ, EAZ, EC, EE, EG, ER, ES, ET, FI, FJ, FK, FM, FO, FR, GA, GBA, GD, GE, GF, GG, GH, GI, GL, GM, GN, GP, GQ, GR, GS, GT, GU, GW, GY, HK, HN, HR, HT, HU, IE, IL, IQ, IS, IT, JE, JM, JO, JP, KE, KG, KH, KI, KM, KN, KR, KS, KW, KY, KZ, LA, LB, LC, LI, LK, LR, LS, LT, LU, LV, LY, MA, MC, MD, ME, MF, MG, MH, MK, ML, MM, MN, MO, MP, MQ, MR, MS, MT, MU, MV, MW, MX, MY, MZ, NA, NC, NE, NF, NG, NI, NL, NO, NP, NR, NU, NZ, OM, PA, PE, PF, PG, PH, PK, PL, PM, PR, PS, PT, PW, PY, QA, RE, RO, RU, RW, SA, SB, SC, SE, SG, SI, SK, SL, SM, SN, SO, SR, SRB, SS, ST, SV, SX, SZ, TC, TD, TG, TH, TJ, TL, TM, TN, TO, TR, TT, TV, TW, TZ, UA, UG, UK, US, UY, UZ, VA, VC, VE, VG, VI, VN, VU, WF, WS, YE, YT, ZA, ZM, ZW Response
Successful Response