Products¶
Individual products (purchasable placements), cross-outlet listings, and category counts.
client.products # ProductsResource
Methods overview¶
Method |
HTTP |
Scope |
|---|---|---|
|
|
|
|
|
|
|
|
get¶
def get(
product_id: str,
*,
as_json: bool | None = None,
) -> Product | dict
Returns Product.
Example
product = client.products.get("prod_abc")
print(product.name, product.prices[0].unit_amount)
list_listings¶
Flat listing of products across outlets, useful for a marketplace-style browse.
def list_listings(
*,
limit: int = 25,
page: int = 1,
sort_by: str | None = None,
order_by: str | None = None,
filters: dict | None = None,
as_json: bool | None = None,
) -> Paginated[ProductListing] | dict
Returns a Paginated envelope of ProductListing.
sort_by options: domain_authority (default), domain_ranking, price, created_at, name
filters (all optional):
Key |
Type |
Notes |
|---|---|---|
|
|
Free-text |
|
|
e.g. |
|
|
|
|
|
USD cents |
|
|
Domain authority |
|
|
Domain ranking |
|
|
Turnaround days |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Exact match |
|
|
Example
listings = client.products.list_listings(
limit=50,
sort_by="price",
order_by="asc",
filters={
"channel_types": ["WEBSITE"],
"placement_types": ["FULL_FEATURE"],
"min_da": 40,
},
)
for p in listings.records:
print(p.name, p.outlet_name, p.domain_authority)
list_categories¶
def list_categories(
*,
as_json: bool | None = None,
) -> list[ProductCategoryCount] | list[dict]
Returns a list of ProductCategoryCount — counts per placement type for your team’s accessible catalog:
for row in client.products.list_categories():
print(row.type, row.count)
# FULL_FEATURE 142
# PRESS_RELEASE 88
# ...
Note: this is a bare array endpoint — not a Paginated envelope. See Pagination.
Recipes¶
Cheapest high-DA outlets¶
cheap_authority = client.products.list_listings(
limit=25,
sort_by="price",
order_by="asc",
filters={"min_da": 60, "max_price": 50000},
)
Resolve product + outlet for a checkout¶
listing = client.products.list_listings(limit=1).records[0]
product_id = listing.id
outlet_id = listing.outlet_id