OpenAPI Specification
openapi: 3.0.3
info:
title: Brave Ads campaigns images 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: images
description: Image search endpoints
paths:
/images/search:
get:
operationId: imageSearch
summary: Image Search
description: Search for images from the Brave independent index.
tags:
- images
parameters:
- name: q
in: query
required: true
description: Image search query string.
schema:
type: string
example: mountain landscape
- name: country
in: query
required: false
description: Country code or ALL for worldwide results.
schema:
type: string
example: US
- name: search_lang
in: query
required: false
description: Preferred content language (ISO 639-1).
schema:
type: string
example: en
- name: count
in: query
required: false
description: Number of image results to return. Default 50, max 200.
schema:
type: integer
minimum: 1
maximum: 200
default: 50
- name: safesearch
in: query
required: false
description: Content filtering level. Default is strict for images.
schema:
type: string
enum:
- false
- strict
default: strict
- name: spellcheck
in: query
required: false
description: Enable autocorrection of the search query. Default true.
schema:
type: boolean
default: true
responses:
'200':
description: Successful image search response
content:
application/json:
schema:
$ref: '#/components/schemas/ImageSearchResponse'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'429':
$ref: '#/components/responses/TooManyRequests'
components:
schemas:
QueryInfo:
type: object
description: Information about the search query.
properties:
original:
type: string
description: The original search query as submitted.
more_results_available:
type: boolean
description: Indicates whether additional result pages are available.
ImageSearchResponse:
type: object
description: Response from the image search endpoint.
properties:
type:
type: string
example: images
query:
$ref: '#/components/schemas/QueryInfo'
results:
type: array
items:
$ref: '#/components/schemas/ImageResult'
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.
ImageResult:
type: object
description: A single image search result.
properties:
title:
type: string
description: Title or caption of the image.
url:
type: string
format: uri
description: URL of the source page containing the image.
description:
type: string
description: Description of the image content.
properties:
type: object
description: Image file properties.
properties:
url:
type: string
format: uri
description: Direct URL to the original image.
placeholder:
type: string
description: URL to a small proxy-served placeholder image.
width:
type: integer
description: Width of the image in pixels.
height:
type: integer
description: Height of the image in pixels.
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'
Forbidden:
description: Forbidden — API key does not have access to this endpoint.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
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/