Ads · Product Catalogs
Fetches a product. Works with Meta Ads.
GET
https://api.pozy.ai/v1/ads/catalogs/{catalogId}/products/{productId}Facebook and InstagramgetAdCatalogProduct
Request
Send your API key as Authorization: Bearer pz_live_.... Read-only keys can call it. Keys with the ads resource group disabled get 403 resource_group_disabled. Authentication
Path parameters
| Name | Type | Notes |
|---|---|---|
catalogIdrequired | string | |
productIdrequired | string |
Query parameters
| Name | Type | Notes |
|---|---|---|
accountIdrequired | string | |
catalogAccountId | string |
Example
curl -X GET "https://api.pozy.ai/v1/ads/catalogs/6f2f2ffcf4ace3659342c4c2/products/659773d34b353e6821202f21?accountId=696e0b682d0a31188e7a2ba9" \
-H "Authorization: Bearer $POZY_API_KEY"const res = await fetch("https://api.pozy.ai/v1/ads/catalogs/6f2f2ffcf4ace3659342c4c2/products/659773d34b353e6821202f21?accountId=696e0b682d0a31188e7a2ba9", {
headers: { Authorization: `Bearer ${process.env.POZY_API_KEY}` },
});
const data = await res.json();
if (!res.ok) throw new Error(data?.error ?? `Request failed with status ${res.status}`);
console.log(data);import os
import requests
resp = requests.get(
"https://api.pozy.ai/v1/ads/catalogs/6f2f2ffcf4ace3659342c4c2/products/659773d34b353e6821202f21",
headers={"Authorization": f"Bearer {os.environ['POZY_API_KEY']}"},
params={
"accountId": "696e0b682d0a31188e7a2ba9",
},
timeout=30,
)
resp.raise_for_status()
print(resp.json())Response
200 on success
productobject26 child fields
idstringretailerIdstringCan be null.
namestringdescriptionstringCan be null.
urlstringCan be null.
imageUrlstringCan be null.
additionalImageUrlsarray of stringpricestringCan be null.
salePricestringCan be null.
currencystringCan be null.
availabilitystringCan be null.
conditionstringCan be null.
brandstringCan be null.
categorystringCan be null.
productTypestringCan be null.
gtinstringCan be null.
inventoryintegerCan be null.
visibilitystringCan be null.
colorstringCan be null.
sizestringCan be null.
genderstringCan be null.
materialstringCan be null.
patternstringCan be null.
customLabelsarray of stringEach item: can be null.
reviewStatusstringCan be null.
reviewRejectionReasonsarray of string
200 response
{
"product": {
"id": "6bfebd43ddc270f6d2c56fc5",
"retailerId": "62ed28b157a658d89f9173aa",
"name": "Acme",
"description": "A short description",
"url": "https://pozy.ai/media/example-1.jpg",
"imageUrl": "https://pozy.ai/media/example-1.jpg",
"additionalImageUrls": [
"https://pozy.ai/media/example-1.jpg"
],
"price": "string",
"salePrice": "string",
"currency": "USD",
"availability": "string",
"condition": "string",
"brand": "string",
"category": "string",
"productType": "string",
"gtin": "string",
"inventory": 1,
"visibility": "string",
"color": "string",
"size": "string",
"gender": "string",
"material": "string",
"pattern": "string",
"customLabels": [
"string"
],
"reviewStatus": "active",
"reviewRejectionReasons": [
"string"
]
}
}Errors
Errors use one shape: { error, type, code, param?, details? }. The ones you are most likely to see here:
| 400 | invalid_request_error | A parameter or body field is missing or invalid. param names it. |
| 401 | authentication_error | The API key is missing, revoked or expired. |
| 403 | permission_error | The key is scoped to other profiles or has this resource group disabled. |
| 404 | not_found | Nothing with that id exists in your workspace. |
| 429 | rate_limit_error | Too many requests this minute. Wait for Retry-After seconds. |
Every code is listed in Errors.
More in Product Catalogs
GETList Meta product catalogsPOSTCreate a Meta product catalogGETGet a product catalogDELDelete a product catalogGETList a catalog's productsPOSTAdd a product to a catalogPOSTCreate, update or delete products in bulkGETGet a bulk request's statusPUTUpdate a productDELDelete a productGETList a catalog's product feedsPOSTCreate a product feedGETList a feed's uploadsPOSTFetch a feed file nowGETList a catalog's product setsPOSTCreate a product setPUTUpdate a product setDELDelete a product set