Skip to main content
GET
Search the public Ad Library

Request contract

  • Method and path: GET /apis/v1/ads/library
  • Availability: enabled
  • Request URL template: https://api.aisa.one/apis/v1/ads/library
  • connectionId: query; required
  • platform: query; optional
  • q: query; optional
  • pageIds: query; optional
  • advertiser: query; optional
  • countries: query; optional
  • adType: query; optional
  • status: query; optional
  • platforms: query; optional
  • mediaType: query; optional
  • languages: query; optional
  • since: query; optional
  • until: query; optional
  • searchType: query; optional
  • fields: query; optional
  • limit: query; optional
  • after: query; optional
  • Runtime facts: fe60122939c67dc98a3a6ac6b97bd5c326b526105150c8959304dd2160d4dd09
Complete OpenAPI definition Effective request and pricing declaration (including authentication and referenced schemas):

Cost and request rules

A request reference price is not currently available; use a request quote where supported. Account-specific pricing and final settlement may differ. Published reference values are not an account-specific quote or a settled charge. For endpoints supporting X-AISA-Cost-Mode: quote, obtain a free quote for your exact request before execution; reconcile the settled cost with response metadata and Usage Logs. USD amounts use 1,000,000 integer micro-USD per dollar.

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Query Parameters

connectionId
string
required

The ads connection (adc_...) the request runs on: one of yours, from GET /apis/v1/ads/connections. On a request with a JSON body it may be sent as a top-level body member instead.

Pattern: ^adc_[0-9A-Za-z]+$
platform
enum<string>

Which archive to search. meta needs no connectionId. Required unless connectionId is given.

Available options:
meta,
linkedin
q
string

Keyword search. Meta does not translate it, so write it in the ads' language. Required unless pageIds (Meta) or advertiser (LinkedIn) is given.

Maximum string length: 100
pageIds
string

Meta only. Comma-separated Facebook Page ids (max 10) whose ads to list.

advertiser
string

LinkedIn only. Advertiser (Page) name to search.

Maximum string length: 100
countries
string

Comma-separated ISO 3166-1 alpha-2 codes the ads reached. Meta defaults to ALL (an explicit ALL is Meta-only); LinkedIn searches every market when omitted.

adType
enum<string>
default:ALL

Meta only.

Available options:
ALL,
POLITICAL_AND_ISSUE_ADS,
HOUSING_ADS,
EMPLOYMENT_ADS,
FINANCIAL_PRODUCTS_AND_SERVICES_ADS
status
enum<string>
default:ACTIVE

Meta only. ACTIVE = eligible for delivery right now.

Available options:
ACTIVE,
INACTIVE,
ALL
platforms
string

Meta only. Comma-separated publisher platforms: FACEBOOK, INSTAGRAM, AUDIENCE_NETWORK, MESSENGER, WHATSAPP, OCULUS, THREADS, STREAMING_SERVICES.

mediaType
enum<string>

Meta only.

Available options:
ALL,
IMAGE,
MEME,
VIDEO,
NONE
languages
string

Meta only. Comma-separated ISO 639-1 codes of the ad text.

since
string<date>

Meta only. Earliest delivery date (YYYY-MM-DD). LinkedIn's archive does not filter by date, so it is a 400 there: filter on details.adStatistics.firstImpressionAt / latestImpressionAt instead (EU-delivered ads only).

until
string<date>

Meta only. Latest delivery date (YYYY-MM-DD); a 400 on LinkedIn, see since.

searchType
enum<string>
default:KEYWORD_UNORDERED

Meta only. Whether q matches words in any order or as an exact phrase (comma-separate phrases to match all of them).

Available options:
KEYWORD_UNORDERED,
KEYWORD_EXACT_PHRASE
fields
string

Meta only. Comma-separated Graph field override.

limit
integer
default:25

Rows per page. LinkedIn accepts at most 25.

Required range: 1 <= x <= 100
after
string

paging.after of the previous page.

Response

Archived ads (raw platform shape)

data
object[]
required
paging
object
required
platform
enum<string>
required
Available options:
meta,
linkedin