canonical: https://jentic.com/apis/outbrain.com/outbrain

# Outbrain Amplify API

Outbrain's Amplify API enables programmatic management of native advertising campaigns across premium publisher networks. Manage marketers, campaigns, budgets, promoted links (content recommendations), audiences, conversions, and performance reporting. Authentication uses Basic auth for token retrieval, then bearer tokens for subsequent requests. The API covers campaign lifecycle management, budget allocation, publisher targeting, content promotion, and multi-dimensional performance analytics by content, day, and publisher.

## For AI agents

Manage Outbrain native advertising campaigns, budgets, promoted content, audiences, conversions, and performance reporting across marketer accounts.

## Scope

Does not serve native ads to end users, track pixel-level impressions, or manage publisher relationships directly - use for campaign management, budget allocation, content promotion, and reporting only.

## Capabilities

- Authenticate with Basic auth and retrieve API bearer tokens for session management
- List and retrieve marketer accounts associated with authenticated credentials
- Create, read, update, and duplicate campaigns with targeting, bidding, and budget configurations
- Manage campaign budgets including daily spend limits and lifetime allocations per campaign
- Create and manage promoted links (native ad content) within campaigns
- Configure audiences for campaign targeting and retrieve audience segment definitions
- Track conversions and performance metrics by content, day, and publisher
- Retrieve performance reports across campaigns with breakdowns by promoted content, daily trends, and publisher distribution
- Batch-create campaigns for multi-campaign rollout operations

## Use cases

### Automated Campaign Creation and Duplication

Spin up new Outbrain campaigns programmatically for seasonal promotions or A/B testing. POST /marketers/{marketerId}/campaigns creates a campaign with targeting rules, bid strategy, and budget. For rapid iteration, POST /campaigns/{id}/duplicate clones an existing campaign's configuration and allows parameter overrides. Batch creation via POST /campaigns/batch handles multi-campaign rollouts in a single call, useful for scaling across publisher networks or testing multiple creatives simultaneously.

Example prompt: POST /marketers/{marketerId}/campaigns with targeting, bid, and budget, then POST /campaigns/{id}/duplicate for A/B variants, or POST /campaigns/batch for multi-campaign launches.

### Budget Management and Allocation

Control campaign spend with daily and lifetime budgets. GET /marketers/{marketerId}/budgets lists all budget allocations for a marketer, POST /campaigns/{id}/budgets attaches a budget to a campaign, and PUT /budgets/{id} adjusts spend limits dynamically. This allows agents to implement spend pacing strategies, pause low-performing campaigns, or reallocate budget to high-performers based on real-time performance data from the reporting endpoints.

Example prompt: POST /campaigns/{id}/budgets with daily and lifetime limits, then PUT /budgets/{id} to adjust dynamically. Retrieve current allocations with GET /marketers/{marketerId}/budgets.

### Content Promotion and Link Management

Promote content with native ad units by managing promoted links. GET /campaigns/{campaignId}/promotedLinks lists all promoted content in a campaign, POST adds new links with headlines, descriptions, and image assets, and PUT /promotedLinks/{id} updates copy or creative. This enables dynamic creative optimization where an agent tests multiple headlines or images for the same landing page and rotates based on performance signals from the API's reporting endpoints.

Example prompt: POST /campaigns/{campaignId}/promotedLinks with headline, description, and image URL, then retrieve performance per link via GET /marketers/{marketerId}/campaigns/performanceByContent and update top performers.

### Performance Reporting and Optimization

Retrieve granular performance metrics across three dimensions: by content (performanceByContent), by day (performanceByDay), and by publisher (performanceByPublisher). These endpoints power automated optimization loops - identify underperforming campaigns or publishers, reallocate budgets, pause low-CTR content, or scale winning placements. Conversions tracked via /marketers/{marketerId}/conversions tie campaign spend directly to ROI, enabling agents to compute cost-per-conversion and optimize bidding strategies.

Example prompt: GET /marketers/{marketerId}/campaigns/performanceByContent for per-link metrics, GET /marketers/{marketerId}/campaigns/performanceByPublisher for network breakdown, then adjust budgets or pause campaigns via PUT /campaigns/{id}.

### AI Agent for Campaign Operations

Let an AI agent handle Outbrain campaign admin tasks - creating campaigns, adjusting budgets, swapping creative, and analyzing performance trends. Through Jentic, the agent searches by intent ('create an Outbrain campaign with a daily budget') and loads only the required endpoints. Authentication credentials are injected at execution time, keeping them out of agent context and transcripts.

Example prompt: Use the Jentic search query 'create an Outbrain campaign' to find POST /marketers/{marketerId}/campaigns, load its schema, and execute with targeting and budget parameters provided by the user.

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| GET | /login | Authenticate with Basic auth and retrieve API bearer token |
| POST | /marketers/{marketerId}/campaigns | Create a new campaign |
| POST | /campaigns/{id}/duplicate | Duplicate an existing campaign |
| POST | /campaigns/batch | Batch-create multiple campaigns |
| POST | /campaigns/{id}/budgets | Attach a budget to a campaign |
| POST | /campaigns/{campaignId}/promotedLinks | Add promoted content to a campaign |
| GET | /marketers/{marketerId}/campaigns/performanceByContent | Retrieve performance metrics by promoted content |

## Key resources

- **Marketers** — Top-level accounts under which campaigns, budgets, and conversions are organized
- **Campaigns** — Advertising campaigns with targeting, bidding, and budget configurations
- **Budgets** — Daily and lifetime spend allocations attached to campaigns or marketers
- **Promoted Links** — Native ad content units (headline, description, image) promoted within campaigns
- **Audiences** — Targeting segments for campaign audience configuration
- **Conversions** — Conversion events tracked per marketer for ROI measurement
- **Performance Reports** — Multi-dimensional reporting by content, day, and publisher for campaign analytics

## Why Jentic

- **Setup:** Wiring the Outbrain Amplify API by hand means using basic auth against the /login endpoint to obtain an OB-TOKEN-V1 header, sending that token on every campaign call to the api.outbrain.com host, and handling token refresh and retries yourself. Through Jentic you install once, import the Outbrain Amplify API from the API Directory, store the login credentials once, and your agent calls it.
- **Permission scoping:** Outbrain puts the campaign and marketer id in the URL path (/campaigns/{id}/..., /marketers/{marketerId}/campaigns), so a rule can pin your agent to one campaign or marketer: it can read performance and manage budgets for that scope. You choose the operations it may call, so campaign duplication or batch creation is not included unless you add them.
- **Credential handling:** Your Outbrain login credentials are stored once, encrypted, by your own Jentic One instance and injected at execution time. They never enter the agent's prompt, logs, or context.
- **Discovery method:** Agents search Jentic by intent such as 'create a campaign for a marketer' or 'read campaign performance by content', and Jentic returns the matching Outbrain Amplify operation with its input schema so the agent calls the right endpoint without browsing the reference docs.

## Related APIs

- **Facebook Marketing API** — Facebook's Marketing API manages paid social campaigns across Facebook and Instagram.
- **Google Ads API** — Google Ads API manages search and display campaigns; Outbrain focuses on native content promotion.

## FAQ

### What authentication does the Outbrain Amplify API use?

The API uses Basic authentication for the initial GET /login call, which returns an OB_Token bearer token. Subsequent requests use this token in the Authorization header. Through Jentic, credentials are stored encrypted and tokens are managed automatically, keeping them out of agent context.

### Can I create multiple Outbrain campaigns at once?

Yes. POST /campaigns/batch accepts an array of campaign configurations and creates them in a single request, ideal for multi-campaign rollouts or A/B testing setups.

### How do I track conversions through the Outbrain API?

GET /marketers/{marketerId}/conversions retrieves all conversion events tracked for a marketer account. Conversions are configured in the Outbrain dashboard and tied to campaigns, then surfaced via the API for ROI analysis.

### Can I retrieve performance metrics broken down by publisher?

Yes. GET /marketers/{marketerId}/campaigns/performanceByPublisher returns campaign metrics segmented by publisher network, allowing you to identify high-performing placements and adjust targeting or budgets accordingly.

### Is the Outbrain API free?

The API itself is available to Outbrain Amplify customers at no additional cost. Spend on campaigns is billed separately based on your Outbrain advertising account terms and CPC or CPM pricing.

### How do I duplicate a campaign with the API?

POST /campaigns/{id}/duplicate clones an existing campaign's configuration. You can override specific fields (name, budget, targeting) in the request body to create a variant for testing or seasonal adjustments.

### Can I limit what my agent is allowed to do with the Outbrain Amplify API?

Yes. Because your Jentic One instance is self-hosted, your own rules decide which Outbrain operations and credentials the agent may use. Since Outbrain puts the campaign and marketer id in the URL path (/campaigns/{id}/..., /marketers/{marketerId}/campaigns), you can pin the agent to a single campaign or marketer so it only reads performance and manages budgets for that scope. You also choose the exact operations it may call, so actions like campaign duplication or batch creation stay unavailable unless you add them.
