TikTok Ad Library Ads Report API
Get TikTok's report of how many ads were published: share by country and unique ads per day, for everyone or one advertiser.
- 10 credits per call
- Failed calls are free
- Updated
- tiktok-adlibrary.ads.report.get
What you send
The input
object of the request, with every field the endpoint accepts.
| Field | Type | Required | What it does | Example |
|---|---|---|---|---|
| advertiser_name | string | one of | One advertiser's exact registered name, sent together with its business ID. | |
| business_id | string | one of | The advertiser's business ID from the advertiser search, sent together with its name. | |
| country | string | no | A country the library covers, such as DE, FR or GB, or ALL. The regions endpoint lists them. | ALL |
| end_date | string | no | The last day of the report (YYYY-MM-DD). Today by default. | |
| start_date | string | no | The first day of the report (YYYY-MM-DD). A report covers up to 31 days. |
Fields it returns
What each record in the response holds, with the values from the sample above.
| Field | Type | What it is | Example |
|---|---|---|---|
| ad_activity | object | Each country's share of ad activity in the library. | 2 fields |
| ad_activity.columns | array | The names of the table's columns. | region, percent |
| ad_activity.rows | array | The table's rows, in the order of its columns. | [{"str_value":"GB"},{"double_value":0.07100345335939232}], [{"s… |
| ad_published | object | How many ads were published, day by day. | 2 fields |
| ad_published.columns | array | The names of the table's columns. | date, total_count |
| ad_published.rows | array | The table's rows, in the order of its columns. | [{"int64_value":1789516800},{"int32_value":10628988}], [{"int64… |
Call it from your code, or ask your agent
Set UPSCRAPE_API_KEY to your key and copy a working request.
curl --request POST \ --url https://data.upscrape.com/execute \ --header "Authorization: Bearer $UPSCRAPE_API_KEY" \ --header "Content-Type: application/json" \ --header "Prefer: wait=30" \ --data '{ "capability": "tiktok-adlibrary.ads.report.get", "input": { "country": "ALL" }}'
import jsonimport osimport requestspayload = json.loads(r'''{ "capability": "tiktok-adlibrary.ads.report.get", "input": { "country": "ALL" }}''')response = requests.post( "https://data.upscrape.com/execute", headers={ "Authorization": f"Bearer {os.environ['UPSCRAPE_API_KEY']}", "Content-Type": "application/json", "Prefer": "wait=30", }, json=payload,)response.raise_for_status()print(json.dumps(response.json(), indent=2))
const response = await fetch("https://data.upscrape.com/execute", { method: "POST", headers: { "Authorization": `Bearer ${process.env.UPSCRAPE_API_KEY}`, "Content-Type": "application/json", "Prefer": "wait=30", }, body: JSON.stringify({ "capability": "tiktok-adlibrary.ads.report.get", "input": { "country": "ALL" }}),});if (!response.ok) { throw new Error(`Upscrape request failed: ${response.status}`);}console.log(JSON.stringify(await response.json(), null, 2));
https://data.upscrape.com/mcp
With Upscrape, get the TikTok Ad Library ads report for country "ALL". Tell me what it costs before you run it, then show the results as a table.
More from the TikTok Ad Library API
TikTok Ad Library Ads Report API FAQ
The short answers. The docs have the long ones.
How much does the TikTok Ad Library Ads Report API cost?
10 credits per successful call, shown before it runs. You buy credits once, and paid credits never expire.
What do I send?
Every input is optional; the input fields below list what each one does.
Do I need a TikTok Ad Library login?
No. It reads public TikTok Ad Library data; nothing runs on your account.
Can my AI agent call it?
Yes, over MCP: the agent finds tiktok-adlibrary.ads.report.get, checks its price and runs it with the same credits as the REST API.
Your first TikTok Ad Library call is free.
Up to 100 free credits to start, no card needed.