Skip to content
adscapi

The ads API
for AI agents.

One API for every ad platform's conversion tracking. Integrate once and adscapi fans each event out to Meta, TikTok, ChatGPT, and 23 more — server-side. Call it from your code or your agent.

SDK · CLI · MCP · Node, Next, Workers

Add the MCP server to your agent

claude mcp add adscapi -- npx -y adscapi mcp

Runs the published adscapi MCP server over stdio. No install step — npx fetches it from npm.

One track(). Many destinations.

A platform is live only when its secrets are in the environment. The same call scales from one destination to all twenty-six.

ready

purchase → configured CAPIs

event

purchase

$49 · USD · jane@…

fans out to

  • Metaok
  • TikTokerr
  • Redditok
  • LinkedInok
  • Pinterestok
  • Snapchatok
  • Xok
  • Amazonok
  • GA4ok
  • Bingok
  • ChatGPTok
  • LINEok

Twenty-six server-side destinations. Same call.

Meta to Yandex. TikTok to Bing.

  • Meta
  • TikTok
  • Reddit
  • LinkedIn
  • Pinterest
  • Snapchat
  • X
  • Amazon
  • Quora
  • Baidu
  • TencentTencent
  • LINE
  • Yahoo! JPYahoo! Japan
  • YandexYandex
  • GA4
  • Yelp
  • Nextdoor
  • Roku
  • TaboolaTaboola
  • VK
  • DouyinDouyin
  • Kuaishou
  • Weibo
  • ChatGPT
  • Bing
  • OutbrainOutbrain
  • Meta
  • TikTok
  • Reddit
  • LinkedIn
  • Pinterest
  • Snapchat
  • X
  • Amazon
  • Quora
  • Baidu
  • TencentTencent
  • LINE
  • Yahoo! JPYahoo! Japan
  • YandexYandex
  • GA4
  • Yelp
  • Nextdoor
  • Roku
  • TaboolaTaboola
  • VK
  • DouyinDouyin
  • Kuaishou
  • Weibo
  • ChatGPT
  • Bing
  • OutbrainOutbrain
  • YandexYandex
  • GA4
  • Yelp
  • Nextdoor
  • Roku
  • TaboolaTaboola
  • VK
  • DouyinDouyin
  • Kuaishou
  • Weibo
  • ChatGPT
  • Bing
  • OutbrainOutbrain
  • Meta
  • TikTok
  • Reddit
  • LinkedIn
  • Pinterest
  • Snapchat
  • X
  • Amazon
  • Quora
  • Baidu
  • TencentTencent
  • LINE
  • Yahoo! JPYahoo! Japan
  • YandexYandex
  • GA4
  • Yelp
  • Nextdoor
  • Roku
  • TaboolaTaboola
  • VK
  • DouyinDouyin
  • Kuaishou
  • Weibo
  • ChatGPT
  • Bing
  • OutbrainOutbrain
  • Meta
  • TikTok
  • Reddit
  • LinkedIn
  • Pinterest
  • Snapchat
  • X
  • Amazon
  • Quora
  • Baidu
  • TencentTencent
  • LINE
  • Yahoo! JPYahoo! Japan

Why adscapi

Every ad platform wants its own integration.

Browser pixels miss conversions to ad blockers and iOS, so platforms optimize on half your data. Server-side APIs fix that — but each one is its own endpoints, hashing, event names, and tokens. adscapi is the one API that covers them all.

  • Add a platform, not an integration

    One call fans out to every configured platform. A new destination is one env var — no new code to write or maintain.

  • Match more conversions

    Pass raw email and phone. adscapi hashes to each platform's exact spec, so match quality stays high and your CPA stays low.

  • Name the event once

    purchase, signup, and lead map to every platform's native event name. No per-platform mapping tables to keep in sync.

  • One failure never blocks the rest

    A bad token on one platform never drops the others. You get a clear result per destination, every time.

  • No double-counting, no lost events

    Cross-platform event IDs dedupe the pixel and the server. Transient errors retry automatically.

  • See it before it sends

    Preview the full fan-out with a dry run before a real conversion ever leaves your server.

  • Fails loud, in your types

    Discriminated results per platform, not thrown soup. Handle ok or error in TypeScript.

  • Runs where your agent does

    Node, Next.js, and Cloudflare Workers. The same package is an SDK, a CLI, and an MCP server.

How it works

Live when the secrets are

The same call works for one platform or forty. Nothing to toggle. Presence is the switch.

  1. 01

    Install

    One package. Import the SDK, run the CLI, or start the MCP server.

    npm i adscapi
  2. 02

    Set tokens

    A platform is active only when its secrets are present. Skip a token and that destination stays off.

    export META_ACCESS_TOKEN=…
  3. 03

    track() once

    Fire at signup or purchase. Raw PII in, hashed payloads out, a result per destination.

    ads.conversions.track({ name: 'signup' })

Pricing

Free, forever

The library is MIT. Bring your own platform tokens. No seats, no event tax, no fake tiers.

Open source
MIT
The full library. Self-host the call on your server.

$0

  • Every dispatcher in the registry
  • npm SDK, CLI, and MCP server
  • Per-platform PII hashing
  • Result-per-destination fan-out
  • Retries, dedup, dry-run
  • MIT license. Yours to fork.
Managed cloud
Coming soon
A hosted track() endpoint if you do not want to run the dispatcher yourself. Same registry. Not for sale yet.
Replay, delivery logs, and a dead-letter queue are on the list. Until then, run the library.

FAQ

Questions

Short answers. The rest lives in the docs.