Ad detail API

5 endpoints on 4 platforms return the same Ad object. One ad of a public ad library: advertiser, creative, landing page, when and where it ran. Every call costs $0.0020; a failed call is free.

Run it in the PlaygroundSee the callSign in to run it; it runs on your own balance.
Platforms4 platforms
Endpoints5 endpointssome platforms have more than one
PriceFrom $0.0020per call. A failed call is free
ReturnsAdone object a call

Ad detail on each platform

One row per endpoint: what it is called, how much comes back in a call, and what a call costs.

PlatformEndpointA pageReturnsPrice
TikTokTikTok Ads Library ad detailGET/v1/tiktok/ads/get1Ad$0.0020
TikTokTikTok Creative Center Top Ad detailGET/v1/tiktok/creative_center/ads/get1Ad$0.0020
LinkedInLinkedIn ad detailGET/v1/linkedin/ads/get1Ad$0.0020
Meta Ad LibraryMeta ad detailGET/v1/meta/ads/get1Ad$0.0020
Google AdsGoogle ad detailGET/v1/google/ads/get1Ad$0.0020
Prices are the prices in force. A call that fails, or whose result is uncertain, costs nothing.Live status →

The Ad object

Every endpoint above returns these fields, with the same names and types.

The object's own page →
idtextID; pass it unchanged to the ad's get endpoint
urllinkThe ad's page in the platform's ad library
formattextFormat of the creative; other is a format of the platform's own
titletextHeadline
texttextBody text
landing_urllinkWhere a click on the ad leads
advertiser.idtextAdvertiser ID
advertiser.nametextAdvertiser's name
advertiser.urllinkThe advertiser's page on the platform
advertiser.avatar_urllinkThe advertiser's picture or logo
imageslist of linkAddresses of the ad's images
videoslist of linkAddresses of the ad's videos; they expire
first_shown_attimeWhen the ad was first shown
last_shown_attimeWhen the ad was last shown; for an ad still running, when the platform last saw it

Which platform fills which field

A field an endpoint cannot give is listed in meta.unavailable on every answer, so a gap is never a surprise.

Platformtitletextadvertiser.idadvertiser.nameadvertiser.urladvertiser.avatar_urlimagesfirst_shown_atlast_shown_at
TikTok Ads Library ad detail
TikTok Creative Center Top Ad detail
LinkedIn
Meta Ad Library
Google Ads

The same call on two platforms

Same parameter names, same paging, same answer. Only the path changes.

# TikTok
curl -G "https://api.dataxapi.com/v1/tiktok/ads/get" \
  --data-urlencode "id=1871655924410641" \
  -H "Authorization: Bearer $DATAXAPI_API_KEY"

# LinkedIn: one word changes
curl -G "https://api.dataxapi.com/v1/linkedin/ads/get" \
  --data-urlencode "id=1588761774" \
  -H "Authorization: Bearer $DATAXAPI_API_KEY"
// TikTok
import { DataXAPI } from "@dataxapi/sdk";

const dx = new DataXAPI(); // reads DATAXAPI_API_KEY
const result = await dx.tiktok.ads.get({ id: "1871655924410641" });
console.log(result.data.item);

// LinkedIn: one word changes
const other = await dx.linkedin.ads.get({ id: "1588761774" });
console.log(other.data.item);
# TikTok
from dataxapi import DataXAPI

dx = DataXAPI()  # reads DATAXAPI_API_KEY
result = dx.tiktok.ads.get(id="1871655924410641")
print(result["data"]["item"])

# LinkedIn: one word changes
other = dx.linkedin.ads.get(id="1588761774")
print(other["data"]["item"])
# TikTok
dataxapi call tiktok.ads.get id=1871655924410641

# LinkedIn: one word changes
dataxapi call linkedin.ads.get id=1588761774
200 · application/json · charged $0.0020
{
  "code": "ok",
  "request_id": "3d50ccf7-9949-4da8-93fe-e3f69e907254",
  "data": {
    "item": {
      "id": "1827957127393428",
      "url": "https://library.tiktok.com/ads/detail/?ad_id=1827957127393428",
      "format": "video",
      "title": "Start weekend hiking with the kit made for beginners",
      "landing_url": "https://www.northside-roasters.com/fall?utm_source=tiktok",
      "advertiser": {
        "id": "7512826933420916016",
        "name": "Pine & Oak Home"
      },
      "images": [
        "https://p16-sign-va.tiktokcdn.com/tos-maliva-p-0068/d28963cc7f8ae338adda~c5_720x720.jpeg"
      ],
      "first_shown_at": "2026-10-09T00:00:00.000Z",
      "last_shown_at": "2026-10-11T00:00:00.000Z"
    }
  },
  "warnings": [],
  "meta": {
    "capability": "tiktok.ads.get",
    "result_status": "complete",
    "fetched_at": "2026-10-12T22:14:29.000Z",
    "cached": false,
    "replayed": false,
    "unavailable": {
      "text": "capability",
      "advertiser.url": "platform",
      "advertiser.avatar_url": "platform"
    },
    "billing": {
      "amount": "0.002",
      "currency": "USD",
      "balance_after": "9.998"
    }
  }
}

TikTok Ads Library ad detail: From a response recorded 2026-10-12 22:14 UTC. Names, text and IDs are examples, and so are the links: none is the recorded one (the page shows no one's personal data); the figures are as recorded. Long lists are cut. The request ID, cursor and balance are made up.

What comes back

The objects these endpoints answer with: one set of fields each, the same on every platform.

All skills →

Questions about the Ad detail API

Short answers. Each endpoint's page has its own limits and examples.

TikTok Ads Library ad detail API →
How much does it cost?

$0.0020 a call on TikTok, LinkedIn, Meta Ad Library, Google Ads. You are charged when data comes back; a failed call costs nothing. No subscription, no monthly minimum.

Does every platform fill every field?

No. 9 of the 14 fields are missing on at least one platform; the table on this page says which. A field an endpoint cannot give is named in meta.unavailable on every answer, never filled with a guess.

Do I need an account on the platform?

No. One DataXAPI key reads all 4 platforms. No platform account and no cookie.

Other data types

The same idea everywhere: one action, every platform that has it.

Start with one key.

207 endpoints on 21 platforms, from $0.0003 a call. Errors and timeouts are not charged.

Start free