Outlets
Endpoints for listing and retrieving outlet details from the Presscart marketplace.
List outlets
GET /outlets
List outlet products from the marketplace.
Scope: outlets.lists
Description: Returns outlet products with nested outlet details, channels, tags, and pricing. Defaults to active outlets. API-token callers with pro pricing enabled receive all pricing tiers.
Note: Each record's
idis the product ID. Use theoutlet_idfield when callingGET /outlets/{outlet_id}to retrieve outlet details.
Parameters
| Parameter | Type | Description |
|---|---|---|
limit | number | Number of records per page (default: 25) |
page | number | Page number (default: 1) |
sort_by | string | Field to sort by: name, created_at, domain_authority, domain_ranking (default: created_at) |
order_by | string | Sort direction: asc or desc (default: desc) |
Filters
Pass filters as query parameters using bracket notation, e.g. filters[search]=tech&filters[channel_type]=WEBSITE.
| Filter | Type | Description |
|---|---|---|
filters[search] | string | Search by product name or outlet name |
filters[status] | string | Outlet status: ACTIVE, INACTIVE, DRAFT, PENDING_REVIEW, PENDING_AGREEMENT, REJECTED, ARCHIVED, SUSPENDED (default: ACTIVE) |
filters[channel_type] | string | Filter by channel type: WEBSITE, NEWSLETTER, INSTAGRAM, LINKEDIN, YOUTUBE, TIKTOK, TWITTER_X, PODCAST, OTHER |
filters[placement_type] | string | Filter by placement type: FULL_FEATURE, PRESS_RELEASE, MENTION, QUOTE, LISTICLE |
filters[is_do_follow] | boolean | Filter by do-follow link status |
filters[is_indexed] | boolean | Filter by indexed status |
filters[disclaimer] | string | Filter by disclaimer name (see List disclaimers) |
filters[tags] | string[] | Filter by tag names (see List tags). Example: filters[tags][0]=Tech&filters[tags][1]=Finance |
filters[country] | string | Filter by country (Global outlets are always included) |
filters[state] | string | Filter by state |
filters[city] | string | Filter by city |
filters[pricing][min] | number | Minimum price |
filters[pricing][max] | number | Maximum price |
filters[domain_authority][min] | number | Minimum domain authority |
filters[domain_authority][max] | number | Maximum domain authority |
filters[domain_ranking][min] | number | Minimum domain ranking |
filters[domain_ranking][max] | number | Maximum domain ranking |
filters[turnaround_time][min] | number | Minimum turnaround time (days) |
filters[turnaround_time][max] | number | Maximum turnaround time (days) |
filters[most_popular] | boolean | When true, return records sorted by most ordered |
filters[new_last_30_days] | boolean | When true, only return records created within the last 30 days, sorted by newest first |
Request
curl "https://api.presscart.com/outlets?limit=10&page=1&filters[search]=tech&filters[channel_type]=WEBSITE" \
-H "Authorization: Bearer $PRESSCART_API_TOKEN"Response
{
"records": [
{
"id": "aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa",
"outlet_id": "bbbbbbbb-bbbb-bbbb-bbbb-bbbbbbbbbbbb",
"name": "Premium Tech Feature",
"description": "Full-length feature article on a leading tech publication",
"requirements": "Must include company background and product details",
"min_delivery_days": 5,
"max_delivery_days": 14,
"is_featured": false,
"created_at": "2025-01-15T10:30:00.000Z",
"outlet_name": "TechDaily",
"website_url": "https://techdaily.com",
"logo": "https://cdn.presscart.com/logos/techdaily.png",
"city": "San Francisco",
"state": "CA",
"country": "US",
"channels": [
{
"channel_type": "WEBSITE",
"placement_type": "FULL_FEATURE",
"is_do_follow": true,
"domain_authority": 72,
"domain_ranking": 65,
"disclaimer_name": "Sponsored",
"disclaimer_description": "This is a sponsored post"
}
],
"tags": [{ "name": "Technology" }, { "name": "Startups" }],
"prices": [
{
"unit_amount": 1500,
"currency": "usd",
"pricing_tier": "basic"
}
]
}
],
"total_records": 150,
"total_pages": 15,
"current_page": 1,
"next_page": 2,
"previous_page": null
}Get outlet
GET /outlets/{outlet_id}
Retrieve a single outlet by ID.
Scope: outlets.read
Description: Returns the full outlet details. Internal pricing fields are removed for API-token callers.
Path parameters
| Parameter | Type | Description |
|---|---|---|
outlet_id | string | UUID of the outlet |
Request
curl "https://api.presscart.com/outlets/aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa" \
-H "Authorization: Bearer $PRESSCART_API_TOKEN"Response
{
"id": "bbbbbbbb-bbbb-bbbb-bbbb-bbbbbbbbbbbb",
"name": "TechDaily",
"description": "A leading technology news publication",
"website_url": "https://techdaily.com",
"logo": "https://cdn.presscart.com/logos/techdaily.png",
"country": "US",
"state": "CA",
"city": "San Francisco",
"is_indexed": true,
"tags": [{ "name": "Technology" }, { "name": "Startups" }],
"outlet_channels": [
{
"id": "cccccccc-cccc-cccc-cccc-cccccccccccc",
"outlet_id": "bbbbbbbb-bbbb-bbbb-bbbb-bbbbbbbbbbbb",
"channel_type": "WEBSITE",
"placement_type": "FULL_FEATURE",
"channel_handle": null,
"channel_url": "https://techdaily.com",
"social_links": [],
"is_do_follow": true,
"domain_authority": 72,
"domain_ranking": 65,
"do_follow_links_allowed": null,
"disclaimer_name": "Sponsored",
"disclaimer_description": "This is a sponsored post"
}
],
"created_at": "2025-01-15T10:30:00.000Z",
"updated_at": "2025-03-10T08:00:00.000Z"
}List outlet products
GET /outlets/{outlet_id}/products
Retrieve a paginated list of products for a specific outlet.
Scope: outlets.read
Description: Returns products belonging to the specified outlet, with nested channels, tags, and pricing. Supports the same filters and sorting as GET /outlets.
Path parameters
| Parameter | Type | Description |
|---|---|---|
outlet_id | string | UUID of the outlet |
Parameters
| Parameter | Type | Description |
|---|---|---|
limit | number | Number of records per page (default: 25) |
page | number | Page number (default: 1) |
sort_by | string | Field to sort by: name, created_at, domain_authority, domain_ranking (default: created_at) |
order_by | string | Sort direction: asc or desc (default: desc) |
Filters are the same as List outlets — see the filters table above.
Request
curl "https://api.presscart.com/outlets/bbbbbbbb-bbbb-bbbb-bbbb-bbbbbbbbbbbb/products?limit=10&page=1" \
-H "Authorization: Bearer $PRESSCART_API_TOKEN"Response
{
"records": [
{
"id": "aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa",
"outlet_id": "bbbbbbbb-bbbb-bbbb-bbbb-bbbbbbbbbbbb",
"name": "Premium Tech Feature",
"description": "Full-length feature article on a leading tech publication",
"requirements": "Must include company background and product details",
"min_delivery_days": 5,
"max_delivery_days": 14,
"is_featured": false,
"created_at": "2025-01-15T10:30:00.000Z",
"outlet_name": "TechDaily",
"website_url": "https://techdaily.com",
"logo": "https://cdn.presscart.com/logos/techdaily.png",
"city": "San Francisco",
"state": "CA",
"country": "US",
"channels": [
{
"channel_type": "WEBSITE",
"placement_type": "FULL_FEATURE",
"is_do_follow": true,
"domain_authority": 72,
"domain_ranking": 65,
"disclaimer_name": "Sponsored",
"disclaimer_description": "This is a sponsored post"
}
],
"tags": [{ "name": "Technology" }, { "name": "Startups" }],
"prices": [
{
"unit_amount": 1500,
"currency": "usd",
"pricing_tier": "basic"
}
]
}
],
"total_records": 3,
"total_pages": 1,
"current_page": 1,
"next_page": null,
"previous_page": null
}List countries
GET /outlets/locations/countries
Scope: outlets.read
Returns distinct countries where outlets are located. Optionally filter by country name.
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
country | string | No | Filter by country (e.g. United States) |
Request
curl "https://api.presscart.com/outlets/locations/countries" \
-H "Authorization: Bearer $PRESSCART_API_TOKEN"Response
{
"countries": ["Australia", "Canada", "Philippines", "Spain", "United Kingdom", "United States"]
}List states
GET /outlets/locations/states
Scope: outlets.read
Returns distinct states. Optionally filter by country.
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
country | string | No | Filter by country (e.g. United States) |
Request
curl "https://api.presscart.com/outlets/locations/states?country=United%20States" \
-H "Authorization: Bearer $PRESSCART_API_TOKEN"Response
{
"states": ["California", "Florida", "New York", "Texas"]
}List cities
GET /outlets/locations/cities
Scope: outlets.read
Returns distinct cities. Optionally filter by country and/or state.
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
country | string | No | Filter by country (e.g. United States) |
state | string | No | Filter by state (e.g. California) |
Request
curl "https://api.presscart.com/outlets/locations/cities?country=United%20States&state=California" \
-H "Authorization: Bearer $PRESSCART_API_TOKEN"Response
{
"cities": ["Los Angeles", "San Diego", "San Francisco", "San Jose"]
}List tags
GET /tags
Scope: tags.lists
Returns a list of tag names. Use these values in the filters[tags] parameter when calling List outlets or List product listings.
Parameters
| Parameter | Type | Description |
|---|---|---|
limit | number | Records per page (default: 25) |
page | number | Page number |
Filters
| Filter | Type | Description |
|---|---|---|
filters[search] | string | Search by tag name |
filters[category] | string | Filter by category: TOPIC, AUDIENCE, LOCATION, ROLE, COMPANY_SIZE |
filters[fetch_all] | string | Set to true to return all tags without pagination |
Request
curl "https://api.presscart.com/tags?filters[category]=TOPIC" \
-H "Authorization: Bearer $PRESSCART_API_TOKEN"Response
{
"records": [
{ "name": "Technology" },
{ "name": "Finance" },
{ "name": "Healthcare" }
],
"total_records": 42,
"total_pages": 2,
"current_page": 1,
"next_page": 2,
"previous_page": null
}List disclaimers
GET /outlet-disclaimers
Scope: outlet_disclaimers.lists
Returns a list of disclaimers with their names and descriptions. Use the name values in the filters[disclaimer] parameter when calling List outlets, or in filters[disclaimer_ids] when calling List product listings.
Parameters
| Parameter | Type | Description |
|---|---|---|
limit | number | Records per page (default: 25) |
page | number | Page number |
Filters
| Filter | Type | Description |
|---|---|---|
filters[fetch_all] | string | Set to true to return all disclaimers without pagination |
Request
curl "https://api.presscart.com/outlet-disclaimers?filters[fetch_all]=true" \
-H "Authorization: Bearer $PRESSCART_API_TOKEN"Response
{
"records": [
{
"id": "dddddddd-dddd-dddd-dddd-dddddddddddd",
"name": "Sponsored",
"description": "This is a sponsored post"
},
{
"id": "eeeeeeee-eeee-eeee-eeee-eeeeeeeeeeee",
"name": "Advertorial",
"description": "Paid promotional content"
}
],
"total_records": 5,
"total_pages": 1,
"current_page": 1,
"next_page": null,
"previous_page": null
}