OpenAPI Specification
openapi: 3.0.3
info:
title: Brave Ads campaigns reporting API
description: 'API for managing and reporting on Brave Ads campaigns. Enables advertisers to retrieve campaign details and performance data for privacy-preserving native browser ads and search ads. Supports customizable reporting dimensions and metrics including impressions, clicks, spend, and conversion tracking. Authentication uses API keys generated from the Brave Ads dashboard.
'
version: 3.0.0
contact:
name: Brave Ads
url: https://brave.com/brave-ads/
email: adsales@brave.com
termsOfService: https://brave.com/terms-of-use/
servers:
- url: https://ads-serve.brave.com
description: Brave Ads API
security:
- ApiKeyAuth: []
tags:
- name: reporting
description: Campaign performance reporting endpoints
paths:
/v3/report/campaign/csv/{campaignId}:
get:
operationId: getCampaignReport
summary: Get Campaign Performance Report
description: 'Retrieve customizable performance report data for a specific campaign in CSV format. Supports filtering by date range, granularity, and selection of dimensions and metrics including impressions, clicks, spend, and conversions.
'
tags:
- reporting
parameters:
- name: campaignId
in: path
required: true
description: The unique identifier of the campaign to report on.
schema:
type: string
example: camp_abc123
- name: startDate
in: query
required: false
description: Report start date in YYYY-MM-DD format.
schema:
type: string
format: date
example: '2026-01-01'
- name: endDate
in: query
required: false
description: Report end date in YYYY-MM-DD format.
schema:
type: string
format: date
example: '2026-01-31'
- name: granularity
in: query
required: false
description: Time granularity for report rows.
schema:
type: string
enum:
- daily
- weekly
- monthly
- total
default: daily
- name: dimensions
in: query
required: false
description: 'Comma-separated list of dimensions to include in the report. Options include campaign, ad_set, ad, country, platform, channel.
'
schema:
type: string
example: campaign,country
- name: metrics
in: query
required: false
description: 'Comma-separated list of metrics to include. Options include impressions, clicks, spend, ctr, cpc, conversions, conversion_value.
'
schema:
type: string
example: impressions,clicks,spend,ctr
responses:
'200':
description: Successful campaign report response in CSV format
content:
text/csv:
schema:
type: string
description: CSV-formatted campaign performance data.
example: 'date,campaign_id,campaign_name,impressions,clicks,spend,ctr
2026-01-01,camp_abc123,Q4 Brand Awareness,10523,312,15.60,2.96%
2026-01-02,camp_abc123,Q4 Brand Awareness,11045,298,14.90,2.70%
'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'429':
$ref: '#/components/responses/TooManyRequests'
components:
responses:
Unauthorized:
description: Unauthorized — missing or invalid API key.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
TooManyRequests:
description: Too Many Requests — rate limit exceeded.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
BadRequest:
description: Bad request — missing or invalid parameters.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
NotFound:
description: Not Found — the requested campaign does not exist.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
Forbidden:
description: Forbidden — API key does not have access to this resource.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
schemas:
ErrorResponse:
type: object
description: API error response.
properties:
error:
type: object
properties:
code:
type: string
description: Error code.
message:
type: string
description: Human-readable error message.
securitySchemes:
ApiKeyAuth:
type: apiKey
in: header
name: X-Api-Key
description: 'API key generated from the Brave Ads dashboard at https://ads.brave.com.
'
externalDocs:
description: Brave Ads API Documentation
url: https://ads-help.brave.com/campaign-performance/API/