The ad API
The whole network is one small JSON API at https://ads.laneworks.net/api.
The embed script uses it, the stats on this site read from it, and enrolled sites can call it directly.
Who can call it: ad serving (/serve) only answers requests originating from
domains enrolled in the network — the API Evangelist family plus approved client domains. Inventory and stats
endpoints are public: the program publishes its numbers. To enroll a domain,
email [email protected].
Returns one ad from the rotation (weighted random) and counts the impression against the calling domain
and the named slot. size is leaderboard (970×120, default) or
rectangle (300×250); the response carries both creative URLs in images either way.
Requests must originate from an enrolled domain (checked via Origin/Referer); others are refused.
{
"id": "paper-fundamentals-of-api-discovery",
"kind": "paper",
"title": "The Fundamentals of API Discovery",
"message": "You can't secure what you can't find.",
"advertiser": "API Evangelist",
"image": "https://ads.laneworks.net/banners/paper-fundamentals-of-api-discovery.png",
"target": "https://papers.apievangelist.com/fundamentals-of-api-discovery/",
"click": "https://ads.laneworks.net/api/v1/click/paper-fundamentals-of-api-discovery?d=apis.io"
}
Render the image wrapped in a link to click — never link straight to target,
or the click won't be counted.
Counts the click and issues a 302 to the ad's destination. The destination always comes from the
inventory on file — the API is not an open redirector.
Every ad currently in rotation: id, kind, title, message, creative URL, and destination. Public.
Lifetime impressions, clicks, and CTR for every ad. Public.
One ad in detail: lifetime totals, a daily series for the last 60 days, and per-domain and per-slot breakdowns.
{
"id": "paper-the-pricing-of-ai-apis",
"impressions": 12840,
"clicks": 96,
"ctr": 0.75,
"days": [ { "date": "2026-07-10", "impressions": 412, "clicks": 3 } ],
"domains": [ { "domain": "apievangelist.com", "impressions": 6210, "clicks": 51 } ]
}
Email clients don't run JavaScript, so this endpoint counts the impression and 302s to the creative — use it as the image source, and the click redirect as the link:
<a href="https://ads.laneworks.net/api/v1/click/{id}?d=newsletter&s=email">
<img src="https://ads.laneworks.net/api/v1/banner/{id}.png?d=newsletter&s=email"
width="600" alt="...">
</a>
Enrolled sites don't need to call the API by hand — include the embed once and place slots wherever ads should render. Three formats:
<script async src="https://ads.laneworks.net/embed.js"></script> <!-- 970×120 leaderboard (below the top nav, before the body) --> <div data-laneworks-ad="top-banner"></div> <!-- 300×250 rectangle (sidebars) --> <div data-laneworks-ad="sidebar" data-laneworks-format="rectangle"></div> <!-- text strip (announcement bar); existing content is the fallback --> <div data-laneworks-ad="announcement" data-laneworks-format="strip"> <!-- static fallback shown until the ad loads --> </div>
The slot name is free-form (top-banner, sidebar, content-bottom, …)
and every impression and click is broken down per slot in the public stats.
No cookies, no fingerprinting, no third parties. The only things recorded are the ad id, the day, and the domain the ad appeared on.