Skip to main content

Documentation Index

Fetch the complete documentation index at: https://developer.zeroclick.ai/docs/llms.txt

Use this file to discover all available pages before exploring further.

Fetch offers via HTTP and render them however you want. Full control over placement and timing.

REST API

const response = await fetch("https://zeroclick.dev/api/v2/offers", {
  method: "POST",
  headers: {
    "Content-Type": "application/json",
    "x-zc-api-key": "your-api-key"
  },
  body: JSON.stringify({
    method: "server",
    ipAddress: "your-client-ip-address",
    query: "best running shoes"
  })
});

const offers = await response.json();
// Render offers in your UI
Get Started with REST API →
Do Not Cache OffersOffer responses must not be cached or stored for later display, and any impressions or clicks from cached offers will not be counted. Each request should be made in real time when an offer is needed. Advertisers may pause campaigns or exhaust budgets at any time, and offer selection is dynamic. The same query can return different results between requests. Serving stale offers risks displaying inactive campaigns and misrepresenting availability to advertisers.
Do Not Retry Ad RequestsAd requests must not be retried after a failure, timeout, or no-fill response, and any impressions from retried requests will not be counted. Each request should correspond to a single user moment in real time. If a request fails or returns no offers, render no ad and wait for the next legitimate user trigger before issuing a new request. Retried requests inflate impression volume, distort per-user rate limits, and may be flagged as invalid traffic across the network.

Improve Offer Quality

Signal Collection improves offer relevance. When enabled, ZeroClick learns user preferences and delivers more personalized offers. Learn about Signal Collection →

Next Steps

Fetch Offers

Get offers via REST API

Render Offers

Best practices for displaying offers

Track Impressions

Record displayed offers