Outbrain Performance Reporting API

There are a multitude of reporting endpoints that allow you to retrieve metrics at various levels of granularity. Note: All performance reports have a 10-30 minutes delay, therefore performance metrics that include the current day are partial. Rate Limits Each marketer is limited to 30 requests per minute for the entire performance reporting API. In case of rate limit violation the response status will be 429 (Too Many Requests). As of April 12, 2021 performance reporting is limited to a history of 3 years per data request. Response structure All reporting endpoints share a common response structure, defined below: Property Type Semantic Comments results Array Metadata and Metrics of the entities returned. Metadata is an object containing contextual properties of the report entity. The set of properties is specific for each end-point. totalResults Number Count of the total results

Operations 23

Each operation below carries the questions people ask an LLM about it and the instructions they give an agent to run it. Generated by API Evangelist overlay

GET /reports/fullDay Find the last day with complete report data · Retrieve last day of full data #
Ask an LLM
“Up to which date is performance data complete and final?”
“When was the last full day of reporting data last modified?”
Tell an agent
Tell me the most recent day with full performance data.
Check the last complete reporting day before I pull yesterday's numbers.
GET /reports/dataFreshness Check how fresh performance report data is · Retrieve data freshness #
Ask an LLM
“How far behind real time is the performance reporting data?”
“What's the latest timestamp for final versus real-time report data?”
Tell an agent
Show the data freshness timestamps for performance reports.
Check the real-time and final data cutoffs before I run a report.
GET /reports/accounts/{primaryAccountId}/marketers Report performance for marketers under an account · Retrieve marketers with performance statistics for a Primary Account #
Ask an LLM
“How are all the marketers in my agency's primary account performing?”
“Can I compare spend across every marketer under one primary account?”
Tell an agent
Report marketer performance for primary account {account} from {from} to {to}.
Rank marketers under primary account {account} by {sort} between {from} and {to}.
GET /reports/marketers/{id}/campaigns Report campaign performance totals for a marketer · Retrieve campaigns with performance statistics for a Marketer #
Ask an LLM
“What were the clicks, spend and conversions per campaign for my marketer this month?”
“Can I include conversion details and viewed impressions in the campaign totals report?”
Tell an agent
Show campaign totals for marketer {id} from {from} to {to}.
Report stats for campaign {campaignId} of marketer {id} from {from} to {to} with conversion details.
GET /reports/marketers/{id}/promotedContent Report performance by promoted link for a marketer · Retrieve promoted content links performance statistics for a Marketer #
Ask an LLM
“Which individual ads, including carousels and app installs, drove the most clicks?”
“Can I filter promoted content stats down to one budget or campaign?”
Tell an agent
Report promoted content performance for marketer {id} from {from} to {to}.
Show stats for promoted link {promotedLinkId} under marketer {id} from {from} to {to}.
GET /reports/marketers/{id}/periodic Report a marketer's performance over time · Retrieve periodic performance statistics for a Marketer #
Ask an LLM
“How did my overall spend trend day by day or week by week?”
“Can I get a periodic breakdown for one campaign or budget?”
Tell an agent
Show {breakdown} performance for marketer {id} from {from} to {to}.
Chart budget {budgetId} results by {breakdown} for marketer {id} between {from} and {to}.
GET /reports/marketers/{id}/campaigns/periodic Report each campaign's performance over time · Retrieve performance statistics for all marketer campaigns by periodic breakdown #
Ask an LLM
“How did each campaign perform per day of the week or hour of day?”
“Can I get a monthly trend split out per campaign?”
Tell an agent
Break down each campaign of marketer {id} by {breakdown} from {from} to {to}.
Show day-of-week by hour results per campaign for marketer {id} from {from} to {to}.
GET /reports/marketers/{id}/campaigns/periodicHourly Report recent hourly performance per campaign · Retrieve performance statistics for all marketer campaigns by periodic hourly… #
Ask an LLM
“How has each campaign performed hour by hour over the last day?”
“Can I choose how many recent hours of per-campaign data to pull?”
Tell an agent
Show hourly results per campaign for marketer {id} over the last {hours} hours.
Pull per-campaign hourly stats for marketer {id}.
GET /reports/marketers/{id}/campaigns/periodicMinutely Report recent minute-by-minute performance per campaign · Retrieve performance statistics for all marketer campaigns by periodic minutely… #
Ask an LLM
“Can I watch campaign performance minute by minute right after a launch?”
“How many minutes back does the minutely per-campaign report go?”
Tell an agent
Show minute-level results per campaign for marketer {id} over the last {minutes} minutes.
Pull minutely campaign stats for marketer {id}.
GET /reports/marketers/{id}/campaigns/{campaignId}/periodicContent Report a campaign's ads over time · Retrieve periodic performance statistics by promoted link for a campaign #
Ask an LLM
“How did each ad in one campaign trend day by day?”
“Can I get a weekly breakdown per promoted link within a single campaign?”
Tell an agent
Show daily results per ad for campaign {campaignId} of marketer {id} from {from} to {to}.
Break down campaign {campaignId} ads by {breakdown} for marketer {id} between {from} and {to}.
GET /reports/marketers/{id}/campaigns/{campaignId}/periodicContentHourly Report a campaign's ads hour by hour · Retrieve hourly periodic performance statistics by promoted link for a campaign #
Ask an LLM
“How have the ads in one campaign performed hourly over the last 48 hours?”
“Is the hourly per-ad campaign report limited to recent data?”
Tell an agent
Show hourly per-ad stats for campaign {campaignId} of marketer {id} for the last {hours} hours.
Pull the last two days of hourly ad results in campaign {campaignId} under marketer {id}.
GET /reports/marketers/{id}/publishers Report a marketer's performance by publisher site · Retrieve performance statistics for a Marketer by publisher #
Ask an LLM
“Which publisher sites did my ads appear on and how did they perform?”
“Does the publisher report include sites I've already blocked?”
Tell an agent
Report performance by publisher for marketer {id} from {from} to {to}.
Find the worst publishers for campaign {campaignId} under marketer {id} from {from} to {to}.
GET /reports/marketers/{id}/campaigns/publishers Report publisher results split per campaign · Retrieve performance statistics for all marketer campaigns by publisher #
Ask an LLM
“For each of my campaigns, which publishers delivered the traffic?”
“Can I see publisher stats grouped under every campaign at once?”
Tell an agent
Show publisher results per campaign for marketer {id} from {from} to {to}.
Group publisher performance by campaign for marketer {id} between {from} and {to}, including archived.
GET /reports/marketers/{id}/sections Report a marketer's performance by site section · Retrieve performance statistics for a Marketer by section #
Ask an LLM
“Which publisher sections, like sports or business, perform best for me?”
“Does the section report show sections I've already blocked?”
Tell an agent
Report performance by section for marketer {id} from {from} to {to}.
Show section results for budget {budgetId} under marketer {id} from {from} to {to}.
GET /reports/marketers/{id}/campaigns/sections Report section results split per campaign · Retrieve performance statistics for all marketer campaigns by section #
Ask an LLM
“For each campaign, which site sections got clicks?”
“Why are some low-traffic sections missing from the per-campaign section report?”
Tell an agent
Show section results per campaign for marketer {id} from {from} to {to}.
Group section performance under each campaign of marketer {id} between {from} and {to}.
GET /reports/marketers/{id}/sections/date Report section performance day by day · Retrieve performance statistics for all marketer sections by dates #
Ask an LLM
“How did each site section perform on each day of the range?”
“Can I get a daily breakdown of section results?”
Tell an agent
Show daily section performance for marketer {id} from {from} to {to}.
Break section results into days for marketer {id} between {from} and {to}.
GET /reports/marketers/{id}/sections/dateHourly Report section performance hour by hour · Retrieve performance statistics for all marketer sections by dates hourly #
Ask an LLM
“How have site sections performed each hour over the last two days?”
“How many hours back can the hourly section report go?”
Tell an agent
Show hourly section results for marketer {id} over the last {hours} hours.
Pull hour-by-hour section stats for marketer {id}.
GET /reports/marketers/{id}/sections/dateMinutely Report section performance minute by minute · Retrieve performance statistics for all marketer sections by dates minutely #
Ask an LLM
“Can I see section results by the minute over the last six hours?”
“What's the lookback window for minutely section data?”
Tell an agent
Show minutely section results for marketer {id} over the last {minutes} minutes.
Pull minute-level section stats for marketer {id}.
GET /reports/marketers/{id}/platforms Report a marketer's performance by device platform · Retrieve performance statistics for a Marketer by platform #
Ask an LLM
“Do my ads do better on desktop, mobile or tablet?”
“Can I get platform results for a single campaign or budget?”
Tell an agent
Report performance by platform for marketer {id} from {from} to {to}.
Compare devices for campaign {campaignId} of marketer {id} from {from} to {to}.
GET /reports/marketers/{id}/campaigns/platforms Report platform results split per campaign · Retrieve performance statistics for all marketer campaigns by platform #
Ask an LLM
“For each campaign, how did desktop and mobile compare?”
“Can I see device platform stats grouped under every campaign?”
Tell an agent
Show platform results per campaign for marketer {id} from {from} to {to}.
Group device performance by campaign for marketer {id} between {from} and {to}.
GET /reports/marketers/{id}/geo Report a marketer's performance by geography · Retrieve geo performance statistics for a Marketer #
Ask an LLM
“Which countries, regions or DMAs bring me the best results?”
“Can I break geographic performance down to DMA level?”
Tell an agent
Report geographic results at {breakdown} level for marketer {id} from {from} to {to}.
Show country-level results for campaign {campaignId} of marketer {id} from {from} to {to} at {breakdown} level.
GET /reports/marketers/{id}/campaigns/geo Report geographic results split per campaign · Retrieve performance statistics for all marketer campaigns by geo #
Ask an LLM
“For each campaign, which regions performed best?”
“Can I get country or region stats grouped under every campaign?”
Tell an agent
Show geo results at {breakdown} level for each campaign of marketer {id} from {from} to {to}.
Group geographic performance by campaign at {breakdown} level for marketer {id} between {from} and {to}.
GET /reports/marketers/{id}/interests Report a marketer's performance by audience interest · Retrieve performance statistics for a Marketer by interest #
Ask an LLM
“Which audience interests are engaging with my ads the most?”
“Why can one click count toward several interests in the interest report?”
Tell an agent
Report interest-level engagement for marketer {id} from {from} to {to}.
Show top interests for campaign {campaignId} under marketer {id} from {from} to {to}.

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/outbrain:outbrain-performance-reporting-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

outbrain-performance-reporting-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Outbrain Amplify Performance Reporting API
  version: '0.1'
  description: This API describes the interfaces for interacting with the Outbrain Amplify product.
  contact:
    name: Outbrain Developer Center
    url: https://developer.outbrain.com
servers:
- url: https://api.outbrain.com/amplify/v0.1
  description: Production Server
security:
- OBTokenAuth: []
tags:


# --- truncated at 32 KB (334 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/outbrain/refs/heads/main/openapi/outbrain-performance-reporting-api-openapi.yml