Sourcelane

TikTok Ads Monitor

Ad Intelligence

Operated by Sourcelane✓ verified

Track competitors' TikTok ads on a schedule and get only new ads each run: video creatives, ad copy, run dates and audience reach, with built-in dedupe.

Read full description

A monitoring connector that continuously scans the public TikTok ad library to surface newly launched TikTok ads for specified advertisers and keywords. It deduplicates across runs, classifies ads by novelty (new launches, initial baseline captures, or previously seen), and returns per-ad records containing creative assets (video URL, cover image, additional images), ad copy text, advertiser identity and stable advertiser ID, public ad library link, first/last run dates, and disclosed audience metrics (audience band, impressions, spend where available). The connector maintains per-monitor memory of recent ad IDs (up to thousands per target) to detect only ads that launched since monitoring began, and it produces run-level summaries with counts of targets checked, ads scanned, and new ads found per advertiser or keyword. Data is sourced from the public TikTok ad library and is intended for repeated runs to track ad launches over time.

Verified Oct 25, 10:11 PM

$0.01

per new ad

Up to 100 per call. Only pay for results returned; failed calls are refunded.

What people use it for

You give it

  • Advertisers to monitor

    Advertiser or brand names to watch, one per line, e.g.

  • Keywords to monitor

    Phrases to watch across all advertisers' ads, one per line, e.g.

  • Monitor ID

    Name for this monitor's memory of already-seen ads.

Optional settings

Only output new adsSkip output on the first runMax ads per advertiser/keywordMax ads per run

You get back

Text & content
Ad text
People & accounts
Resolved advertiser name
Dates
Detected atFirst shown atLast shown at
Links & media
Ad library URLImage URLVideo URLCover image URLImages
Other details
Monitor IDTargetTarget typeNewAd IDAdvertiserAdv biz IDAd format+4 more

Trust & reliability

7d uptime trend
WindowUptimeSuccess ratep50p95Calls
24h————0
7d————0
30d————0

Calling contract

Call it through Sourcelane's gateway or MCP server. We run the connector, apply your agent's spend guardrails, and bill only the results returned.

Call it via Sourcelane

curl -X POST https://api.usesourcelane.com/v1/call \
  -H "Authorization: Bearer sl_live_your_agent_key" \
  -H "Content-Type: application/json" \
  -d '{"listing":"tiktok-ads-monitor","params":{"advertisers":["Gymshark","Duolingo"],"maxItems":5},"maxResults":10}'

Request params

FieldTypeRequiredDescription
advertisersarrayoptionalAdvertiser or brand names to watch, one per line, e.g. 'Gymshark'. To lock onto one exact advertiser, add its ID from the TikTok ad library 'See all ads' link after a pipe: 'GYMSHARK LTD | 7647240890083328016'.
keywordsarrayoptionalPhrases to watch across all advertisers' ads, one per line, e.g. 'protein powder'. Every advertiser running a matching ad is covered.
onlyNewbooleanoptionalWhen on (recommended for scheduled runs), each run outputs only ads that are new since monitoring started and have not been output before. When off, every ad found is output with an isNew flag.
skipBaselineOutputbooleanoptionalThe first run for each advertiser or keyword records the ads currently live as a baseline. Turn this on to record the baseline silently (no rows, no per-ad charge) so you only ever receive ads that launch afterwards.
monitorIdstringoptionalName for this monitor's memory of already-seen ads. Use a different ID for each separate monitor (e.g. one per client) so they track new ads independently. Change it to start over with a fresh baseline.
maxAdsPerTargetintegeroptionalUpper limit on ads checked per advertiser or keyword in one run (new ads when 'Only output new ads' is on). Also sizes the first-run baseline. Set 0 for no limit.
maxItemsintegeroptionalUpper limit on rows output across all advertisers and keywords in one run. Ads not output because of this limit are kept unseen and output on the next run. Set 0 for no limit. Capped at 100 per call.

Each result contains

FieldTypeDescription
monitorIdstring—
targetstringTarget
targetTypestring—
statusstringStatus
isNewboolean—
detectedAtstringDetected
adIdstringAd ID
adLibraryUrlstringAd Library
advertiserstringAdvertiser
resolvedAdvertiserNamestring—
advBizIdstring—
adTextstringAd Text
imageUrlstring—
videoUrlstringVideo
coverImageUrlstringCover
imagesarray—
adFormatstring—
auditStatusstring—
estimatedAudiencestringAudience Reach
impressionsinteger—
spendnull—
firstShownAtstringFirst Shown
lastShownAtstringLast Shown

Use TikTok Ads Monitor from Claude, ChatGPT or Cursor

Pick your tool and connect in under a minute. Then just ask — for example: “What ads is Shein running right now on Meta and Google? Group them by offer.”

Connect Claude

Web, desktop and mobile. One click, then confirm.

  1. 1Click Add to Claude — claude.ai opens with Sourcelane filled in
  2. 2Click Continue to confirm — it then works in Claude desktop and mobile too
Manual setup (config files, REST, Python) +

Claude Code

Adds the Sourcelane MCP server with your key as a header.

terminal
claude mcp add --transport http sourcelane https://api.usesourcelane.com/mcp \
  --header "Authorization: Bearer sl_live_your_agent_key"

Claude Desktop (config file)

Alternative to the connector URL: add to claude_desktop_config.json, then restart Claude.

claude_desktop_config.json
{
  "mcpServers": {
    "sourcelane": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-remote",
        "https://api.usesourcelane.com/mcp",
        "--header",
        "Authorization:${AUTH_HEADER}"
      ],
      "env": {
        "AUTH_HEADER": "Bearer sl_live_your_agent_key"
      }
    }
  }
}

Cursor & Windsurf

Add to ~/.cursor/mcp.json (or Windsurf's mcp_config.json).

mcp.json
{
  "mcpServers": {
    "sourcelane": {
      "url": "https://api.usesourcelane.com/mcp",
      "headers": {
        "Authorization": "Bearer sl_live_your_agent_key"
      }
    }
  }
}

VS Code

Save as .vscode/mcp.json. VS Code prompts for your key once.

.vscode/mcp.json
{
  "servers": {
    "sourcelane": {
      "type": "http",
      "url": "https://api.usesourcelane.com/mcp",
      "headers": {
        "Authorization": "Bearer ${input:sourcelane-key}"
      }
    }
  },
  "inputs": [
    {
      "type": "promptString",
      "id": "sourcelane-key",
      "description": "Sourcelane agent key",
      "password": true
    }
  ]
}

ChatGPT Custom GPT (Actions)

Create a GPT → Actions → Import from URL, then Authentication: API Key, Bearer.

OpenAPI schema URL
https://usesourcelane.com/openapi.json

REST

One POST. Pass maxResults to cap cost.

curl
curl -X POST https://api.usesourcelane.com/v1/call \
  -H "Authorization: Bearer sl_live_your_agent_key" \
  -H "Content-Type: application/json" \
  -d '{"listing":"tiktok-ads-monitor","params":{"advertisers":["Gymshark","Duolingo"],"maxItems":5},"maxResults":10}'

Python, LangChain, CrewAI, OpenAI Agents SDK…

Wrap the REST call as a tool, or point an MCP client at the endpoint.

python
import requests

res = requests.post(
    "https://api.usesourcelane.com/v1/call",
    headers={"Authorization": "Bearer sl_live_your_agent_key"},
    json={
        "listing": "tiktok-ads-monitor",
        "params": {"advertisers":["Gymshark","Duolingo"],"maxItems":5},
        "maxResults": 10,
    },
    timeout=300,
)
body = res.json()
print(body["receipt"]["chargedMicros"], "micro-USD for", body["receipt"]["results"], "results")
print(body["data"])

Reviews

—

0 reviews

5
0
4
0
3
0
2
0
1
0

Leave a review

Loading reviews…

Related Ad Library connectors

See all Ad Library data connectors →