Developer docs

Add a Wadzzo map in minutes

Three ways to connect: drop-in script, iframe embed, or the REST API for fully custom experiences. Manage your pins and keys from the dashboard.

1. Get your keys

Every account gets a publishable key (safe for the browser) and a secret key (server-side only). Find them under API & Embed in your dashboard.

pk_live_xxxxxxxxxxxxxxxxxxxxxxxx   // publishable (browser)
sk_live_xxxxxxxxxxxxxxxxxxxxxxxx   // secret (server)

2. Embed the widget

Option A — Script tag (recommended)

The loader mounts a sandboxed iframe wherever you place the div. Your CSS can't break the map and vice versa.

<script src="https://www.wadzzo.com/widget.js"></script>
<div data-wadzzo-map data-key="pk_live_xxx" style="height:500px"></div>

Option B — Direct iframe

No JavaScript required.

<iframe
  src="https://www.wadzzo.com/embed?key=pk_live_xxx"
  width="100%" height="500"
  style="border:0;border-radius:12px"
  loading="lazy" title="Wadzzo Map">
</iframe>

3. Or use the REST API

Build a fully custom experience. The pins endpoint returns only active pins for your account and is safe to call from the browser with your publishable key.

Fetch pins

GET https://www.wadzzo.com/api/widget/pins?key=pk_live_xxx

{
  "pins": [
    {
      "id": "…",
      "title": "Free Cold Brew",
      "category": "coffee",
      "lat": 40.758, "lng": -73.9855,
      "reward_label": "Free Cold Brew",
      "cta_label": "Claim in store",
      "cta_url": "https://…"
    }
  ]
}

Log an interaction

POST https://www.wadzzo.com/api/widget/events
Content-Type: application/json

{
  "key": "pk_live_xxx",
  "pinId": "…",
  "type": "reward_claim"   // impression | open | reward_claim | cta_click
}

Ready to go live?

Create pins, group them into campaigns, and track engagement in real time.

Manage your pins