Search Product
curl --request GET \
--url https://api.byteful.com/1.0/public/user/product/search \
--header 'X-API-Private-Key: <api-key>' \
--header 'X-API-Public-Key: <api-key>'import requests
url = "https://api.byteful.com/1.0/public/user/product/search"
headers = {
"X-API-Private-Key": "<api-key>",
"X-API-Public-Key": "<api-key>"
}
response = requests.get(url, headers=headers)
print(response.text)const options = {
method: 'GET',
headers: {'X-API-Private-Key': '<api-key>', 'X-API-Public-Key': '<api-key>'}
};
fetch('https://api.byteful.com/1.0/public/user/product/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.byteful.com/1.0/public/user/product/search",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"X-API-Private-Key: <api-key>",
"X-API-Public-Key: <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"
"net/http"
"io"
)
func main() {
url := "https://api.byteful.com/1.0/public/user/product/search"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("X-API-Private-Key", "<api-key>")
req.Header.Add("X-API-Public-Key", "<api-key>")
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.byteful.com/1.0/public/user/product/search")
.header("X-API-Private-Key", "<api-key>")
.header("X-API-Public-Key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.byteful.com/1.0/public/user/product/search")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["X-API-Private-Key"] = '<api-key>'
request["X-API-Public-Key"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"data": [
{
"country_id": "fr",
"product_creation_datetime": "2023-11-07T05:31:56Z",
"product_id": "550e8400-e29b-41d4-a716-446655440000",
"product_image": "https://files.stripe.com/links/MDB8YWNjdF8xSDdkOEFCMkJVbHFpbTVsfGZsX2xpdmVfNU9KWUZCTnp4djA0dmpuV3F0bjM2ck9i00dSLST0rl",
"product_instock": false,
"product_is_active": true,
"product_is_available": false,
"product_is_per_ip": true,
"product_is_visible": true,
"product_last_update_datetime": "2023-11-07T05:31:56Z",
"product_name": "Static Residential ISP Proxies [FR]",
"product_prices": [
{
"price_amount": 123,
"price_cycle_interval": "month",
"price_cycle_interval_count": 1,
"price_id": "price_1QJx2EB2BUlqim5ltggZJfyY",
"price_is_subscription": true,
"price_package_quantity": 123,
"price_per_unit_amount": 123,
"price_tier_type": "volume",
"price_tiers": [
{
"price_tier_amount": 350,
"price_tier_up_to": 1
}
],
"price_type": "recurring"
}
],
"product_stock": 0,
"product_type": "isp",
"stripe_product_id": "prod_RCLjwcUyqkfd2f"
}
],
"item_count": 1,
"message": "Product search with stock successfully completed.",
"page": 1,
"per_page": 100,
"total_count": 1
}Product
Search Product
Search Products entries using various filters.
GET
/
public
/
user
/
product
/
search
Search Product
curl --request GET \
--url https://api.byteful.com/1.0/public/user/product/search \
--header 'X-API-Private-Key: <api-key>' \
--header 'X-API-Public-Key: <api-key>'import requests
url = "https://api.byteful.com/1.0/public/user/product/search"
headers = {
"X-API-Private-Key": "<api-key>",
"X-API-Public-Key": "<api-key>"
}
response = requests.get(url, headers=headers)
print(response.text)const options = {
method: 'GET',
headers: {'X-API-Private-Key': '<api-key>', 'X-API-Public-Key': '<api-key>'}
};
fetch('https://api.byteful.com/1.0/public/user/product/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.byteful.com/1.0/public/user/product/search",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"X-API-Private-Key: <api-key>",
"X-API-Public-Key: <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"
"net/http"
"io"
)
func main() {
url := "https://api.byteful.com/1.0/public/user/product/search"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("X-API-Private-Key", "<api-key>")
req.Header.Add("X-API-Public-Key", "<api-key>")
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.byteful.com/1.0/public/user/product/search")
.header("X-API-Private-Key", "<api-key>")
.header("X-API-Public-Key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.byteful.com/1.0/public/user/product/search")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["X-API-Private-Key"] = '<api-key>'
request["X-API-Public-Key"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"data": [
{
"country_id": "fr",
"product_creation_datetime": "2023-11-07T05:31:56Z",
"product_id": "550e8400-e29b-41d4-a716-446655440000",
"product_image": "https://files.stripe.com/links/MDB8YWNjdF8xSDdkOEFCMkJVbHFpbTVsfGZsX2xpdmVfNU9KWUZCTnp4djA0dmpuV3F0bjM2ck9i00dSLST0rl",
"product_instock": false,
"product_is_active": true,
"product_is_available": false,
"product_is_per_ip": true,
"product_is_visible": true,
"product_last_update_datetime": "2023-11-07T05:31:56Z",
"product_name": "Static Residential ISP Proxies [FR]",
"product_prices": [
{
"price_amount": 123,
"price_cycle_interval": "month",
"price_cycle_interval_count": 1,
"price_id": "price_1QJx2EB2BUlqim5ltggZJfyY",
"price_is_subscription": true,
"price_package_quantity": 123,
"price_per_unit_amount": 123,
"price_tier_type": "volume",
"price_tiers": [
{
"price_tier_amount": 350,
"price_tier_up_to": 1
}
],
"price_type": "recurring"
}
],
"product_stock": 0,
"product_type": "isp",
"stripe_product_id": "prod_RCLjwcUyqkfd2f"
}
],
"item_count": 1,
"message": "Product search with stock successfully completed.",
"page": 1,
"per_page": 100,
"total_count": 1
}Authorizations
Private API key for user-level authentication.
Public API key for user-level authentication.
Query Parameters
Product uuid (PK) of the Product
Stripe product id the Product maps to
Type associated with the Product
Available options:
credit, datacenter, isp, residential, mobile Protocol associated with the Product
Available options:
ipv4, ipv6, dual Country ID for the region of the product
Whether the Product is active
Whether the Product is one per customer
Whether the Product is one active per customer
Whether the Product is one per IP
Number of items per page for pagination
Page number for pagination
Key for sorting or random.

