Skip to main content
Integrating ZeroClick involves three steps:
1

Get ZeroClick offers

Retrieve offers via REST API
2

(Optional) Turn on Signal Collection

Collects user context in the background to generate more relevant offers
3

Track impressions

Use the REST API from the user’s device to track offer impressions.

Get Offers

Fetch offers via HTTP and render them however you want.
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: clientIpAddress,
    query: "best running shoes"
  })
});

const offers = await response.json();
// Render in your UI
Get Started with REST API →

Improve Offers

Signal Collection

Turn on Signal Collection to improve offer relevance. ZeroClick learns user preferences in the background and delivers more personalized offers. How it works:
  1. Connect the MCP Signal Server to your application
  2. As users interact, the LLM silently broadcasts preference signals
  3. When you request offers, ZeroClick uses these signals to personalize results
Set Up Signal Collection →

Track Impressions

After displaying offers to users, call the impressions endpoint to record what was shown. This is required for analytics and revenue attribution.
await fetch("https://zeroclick.dev/api/v2/impressions", {
  method: "POST",
  headers: { "Content-Type": "application/json" },
  body: JSON.stringify({
    ids: offers.map(offer => offer.id)
  })
});
Impression requests must originate from the end user’s device, not your server. Requests will be rate limited per IP.

Next Steps