Find products associated with a single vendor.
Retrieve products associated with a specific vendor domain. Use this to power vendor profile pages and product catalogs.
Base URL: https://api.salescaddy.ai/api
Endpoint
GET /vendors/{vendorDomain}/products
Path parameters
Name | Type | Required | Description |
---|---|---|---|
vendorDomain | string | Yes | Vendor domain (e.g. microsoft.com ) |
Query parameters
Name | Type | Required | Default | Description |
---|---|---|---|---|
productName | string | No | — | Filter by product name (contains) |
page | int | No | 0 | Page index (0‑based) |
size | int | No | 20 | Page size (max 200) |
Example — List products by vendor
curl -sS "https://api.salescaddy.ai/api/vendors/microsoft.com/products?page=0&size=10" \
-H "Authorization: Bearer $TOKEN"
const url = "https://api.salescaddy.ai/api/vendors/microsoft.com/products?page=0&size=10";
const res = await fetch(url, { headers: { Authorization: `Bearer ${process.env.TOKEN}` } });
console.log(await res.json());
import os, requests
r = requests.get("https://api.salescaddy.ai/api/vendors/microsoft.com/products",
params={"page":0,"size":10},
headers={"Authorization": f"Bearer {os.environ['TOKEN']}"})
print(r.json())
using System.Net.Http.Headers;
var http = new HttpClient();
http.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", TOKEN);
var res = await http.GetAsync("https://api.salescaddy.ai/api/vendors/microsoft.com/products?page=0&size=10");
Console.WriteLine(await res.Content.ReadAsStringAsync());
Sample response (trimmed):
{
"totalPages": 100,
"totalElements": 5000,
"content": [
{
"id": "prod_office365",
"name": "Microsoft 365",
"description": "Cloud productivity suite",
"logo": "https://logo.example/m365.svg",
"category": "Productivity",
"features": ["Email","Docs","Chat"],
"reviewCount": 1283,
"starRating": 4.6,
"avgRating": 4.5,
"vendor": { "id": "ven_microsoft", "name": "Microsoft", "domain": "microsoft.com" },
"categoryId": "cat_productivity"
},
{
"id": "prod_azure",
"name": "Microsoft Azure",
"description": "Cloud platform & services",
"logo": "https://logo.example/azure.svg",
"category": "IaaS/PaaS",
"features": ["Compute","Storage","Networking"],
"reviewCount": 842,
"starRating": 4.5,
"avgRating": 4.4,
"vendor": { "id": "ven_microsoft", "name": "Microsoft", "domain": "microsoft.com" },
"categoryId": "cat_cloud_platforms"
}
]
}
Notes
- Use
productName
to quickly narrow large catalogs (case-insensitive contains).- Pagination defaults are
page=0
,size=20
; prefer multiple pages over very largesize
.- IDs (
productId
,categoryId
) can be reused across other endpoints (search, related, usage metrics).
Filtering by product name
curl -sS "https://api.salescaddy.ai/api/vendors/microsoft.com/products?productName=azure&page=0&size=10" \
-H "Authorization: Bearer $TOKEN"
const url = "https://api.salescaddy.ai/api/vendors/microsoft.com/products?productName=azure&page=0&size=10";
console.log(await (await fetch(url, { headers: { Authorization: `Bearer ${process.env.TOKEN}` } })).json());
r = requests.get("https://api.salescaddy.ai/api/vendors/microsoft.com/products",
params={"productName":"azure","page":0,"size":10},
headers={"Authorization": f"Bearer {os.environ['TOKEN']}"})
print(r.json())
var res = await http.GetAsync("https://api.salescaddy.ai/api/vendors/microsoft.com/products?productName=azure&page=0&size=10");
Console.WriteLine(await res.Content.ReadAsStringAsync());
Errors
Code | Meaning | How to fix |
---|---|---|
400 | Bad request | Validate page/size and query types |
401 | Unauthorized | Provide/refresh Bearer token |
404 | Not found | Unknown vendorDomain |
429 | Rate limit exceeded | Retry with exponential backoff |
500 | Internal server error | Retry later; contact support if persistent |