Example Integration
EMBED FINANCIAL SERVICES
INTO ANY MEMBERSHIP PLATFORM

Meet Wanderline — a fictional travel podcast network with its own paid membership.

Sample merchant for illustration only — not an active Podovo partner.

wanderline.fm
wanderline
Every mile has a story. Now with a membership that pays you back.
The Wanderline Club — existing tiers, unchanged.
Explorer
$6/mo
  • Ad-free episodes
  • Bonus episode monthly
  • Private Discord
Voyager
$15/mo
  • Everything in Explorer
  • Quarterly meetups
  • Signed maps & merch
  • Wanderline Card, powered by Podovo
Wanderline Card
$0/mo
  • Get access to backstage
  • Free merch
  • Other VIP perks
Apply Now
<div id="podovo-wallet"data-podcast="wanderline"></div><script src="https://podovo.ai/widget.js" async></script>
Developer Docs

INTEGRATION DOCS

Everything you need to connect your podcast, brand, or platform to the Podovo rewards ecosystem — from the Podcaster API to the upcoming white-label Wallet Widget you can drop directly onto your own show page.

Quick Reference
Widget Script https://podovo.ai/widget.js
Podcaster API https://podovo-api.vercel.app
Wallet Deep Link https://podovo.ai/wallet?podcast=your-slug
Widget Status In development — Coming Soon
Integration Options
There are three ways to connect your podcast to Podovo, depending on how much control you want over the listener experience.
LINK Wallet Deep Links
The fastest option — a plain URL that sends listeners straight into the Podovo wallet flow, already scoped to your show. No code required beyond a link in your show notes, link-in-bio, or site. Live today.
WIDGET White-Label Wallet Widget Coming Soon
An embeddable widget for your own site that lets listeners create or connect their Podovo wallet without leaving your page, styled and branded to match your show. Currently in development.
API Podcaster API
Full programmatic access to your listener data, analytics, and rewards. See the Podcaster API reference below for the full endpoint list. Live today.
Podcaster API
Full programmatic access to your listener data, analytics, and rewards. Query your audience, award bonus points, create custom perks, and track brand transactions — all from your own app or platform.
API Quick Reference
Auth Header Authorization: Bearer pdv_your_api_key
Format JSON (application/json)
Version 1.0.0
Authentication
All API requests are authenticated with a Bearer token in the Authorization header. Each API key is scoped to a single podcast — you can only access data for your own show's listeners.
Authorization Header
Authorization: Bearer pdv_a1b2c3d4e5f6...

API keys are issued by Podovo. Contact us at craig@podovo.ai to request a key for your podcast. Keys are prefixed pdv_ and tied to your registered podcast name.

Base URL
All endpoints are relative to the base URL below. Use HTTPS only.
https://podovo-api.vercel.app
Errors
The API returns standard HTTP status codes. Error responses always include an error field.
StatusMeaning
200Success
201Resource created
400Bad request — missing or invalid parameters
401Unauthorized — missing or invalid API key
403Forbidden — action not permitted for this API key
404Resource not found
405Method not allowed
500Internal server error
Error Response
{
  "error": "This listener has not connected your podcast to their wallet"
}
Get Listeners
Returns all listeners who have connected your podcast to their Podovo wallet.
GET /api/listeners
Scoped to your podcast. Returns name, email, points balance, and join date for each listener.
Query ParamTypeRequiredDescription
limit number optional Max results to return. Default 100, max 500.
Request
curl https://podovo-api.vercel.app/api/listeners \
  -H "Authorization: Bearer pdv_your_api_key"
Response
{
  "podcast": "Huberman Lab",
  "total": 248,
  "listeners": [
    {
      "id": "recXXXXXXXXXXXXXX",
      "name": "Alex Johnson",
      "email": "alex@example.com",
      "points": 3420,
      "joined_date": "2026-04-12"
    }
  ]
}
Get Analytics
Returns aggregate stats for your podcast — listener counts, total points in the ecosystem, monthly growth, and points distribution across tiers.
GET /api/analytics
No parameters required. Returns summary analytics scoped to your podcast.
Request
curl https://podovo-api.vercel.app/api/analytics \
  -H "Authorization: Bearer pdv_your_api_key"
Response
{
  "podcast": "Huberman Lab",
  "total_listeners": 248,
  "total_points_in_ecosystem": 824600,
  "avg_points_per_listener": 3325,
  "listeners_by_month": {
    "2026-03": 42,
    "2026-04": 87,
    "2026-05": 119
  },
  "points_distribution": {
    "0": 12,
    "1-500": 38,
    "501-2000": 94,
    "2001-6000": 81,
    "6001+": 23
  }
}
Award Points
Award bonus points to one of your listeners. The listener must have already connected your podcast to their wallet. Points are added to their existing balance immediately.
POST /api/points/award
Use this to reward listeners for episode engagement, contest wins, referrals, or any custom action.
Body FieldTypeRequiredDescription
email string required The listener's email address registered with Podovo.
points integer required Whole number of points to award. Maximum 10,000 per call.
reason string optional Human-readable reason (e.g. "Listener of the month").
Request
curl -X POST https://podovo-api.vercel.app/api/points/award \
  -H "Authorization: Bearer pdv_your_api_key" \
  -H "Content-Type: application/json" \
  -d '{
    "email": "alex@example.com",
    "points": 500,
    "reason": "Listener of the month"
  }'
Response
{
  "email": "alex@example.com",
  "podcast": "Huberman Lab",
  "points_awarded": 500,
  "points_before": 3420,
  "points_after": 3920,
  "reason": "Listener of the month"
}
List Rewards
Returns all rewards you have created for your listeners to redeem with their points.
GET /api/rewards
Returns active and inactive rewards scoped to your podcast.
Request
curl https://podovo-api.vercel.app/api/rewards \
  -H "Authorization: Bearer pdv_your_api_key"
Response
{
  "podcast": "Huberman Lab",
  "total": 2,
  "rewards": [
    {
      "id": "recXXXXXXXXXXXXXX",
      "title": "Backstage Meet & Greet",
      "description": "Join us backstage after a live recording",
      "points_cost": 10000,
      "active": true,
      "max_redemptions": 5,
      "redemptions": 1
    }
  ]
}
Create Reward
Create a new reward that your listeners can redeem using their points balance.
POST /api/rewards
New rewards are active immediately. Use max_redemptions to cap limited-availability perks.
Body FieldTypeRequiredDescription
title string required Short name shown to listeners (e.g. "Backstage Pass").
points_cost number required Points a listener must spend to redeem this reward.
description string optional Longer description of what the listener receives.
max_redemptions number optional Cap on total redemptions. Omit for unlimited.
Request
curl -X POST https://podovo-api.vercel.app/api/rewards \
  -H "Authorization: Bearer pdv_your_api_key" \
  -H "Content-Type: application/json" \
  -d '{
    "title": "Backstage Meet & Greet",
    "description": "Join us backstage after a live recording",
    "points_cost": 10000,
    "max_redemptions": 5
  }'
Response — 201 Created
{
  "id": "recXXXXXXXXXXXXXX",
  "title": "Backstage Meet & Greet",
  "description": "Join us backstage after a live recording",
  "points_cost": 10000,
  "podcast": "Huberman Lab",
  "max_redemptions": 5
}
Get Transactions
Returns brand purchase transactions made by your listeners at podcast partner merchants. Sorted newest first.
GET /api/transactions
Shows purchase activity where points were earned via your podcast's partner merchants.
Query ParamTypeRequiredDescription
limit number optional Max results. Default 50, max 200.
Request
curl "https://podovo-api.vercel.app/api/transactions?limit=20" \
  -H "Authorization: Bearer pdv_your_api_key"
Response
{
  "podcast": "Huberman Lab",
  "total": 20,
  "transactions": [
    {
      "id": "recXXXXXXXXXXXXXX",
      "user_email": "alex@example.com",
      "merchant": "Athletic Greens",
      "amount_usd": 79.00,
      "points_earned": 790,
      "date": "2026-05-28"
    }
  ]
}
Get an API Key
API keys are issued by Podovo to verified podcast partners. To request access, email us with your podcast name and a brief description of what you're building.
Request Access

Email craig@podovo.ai with subject line "API Access Request". Include your podcast name, approximate listener count, and how you plan to use the API. We'll issue your key within 24 hours.

Keys are tied to your registered podcast name. Requests made with your key can only return data for your own listeners — no cross-podcast data access is possible.

White-Label Wallet Widget Coming Soon
The Wallet Widget lets you embed a fully white-labeled version of the Podovo wallet directly on your own podcast site — pre-linked to your show, so every listener who signs up through it is automatically connected to your podcast. This capability is currently in development; the reference below reflects the planned design and is subject to change before release.

This is a planned capability, not yet live. Want early access when it ships? See Get Early Access below.

Embed Snippet
Drop this snippet anywhere on your page. The widget renders inline and sizes itself to its container.
HTML
<div id="podovo-wallet"
     data-podcast="your-podcast-slug"
     data-theme="light"
     data-accent="#3b82f6"></div>
<script src="https://podovo.ai/widget.js" async></script>
Configuration Parameters
Attributes read from the container div when the widget loads.
AttributeTypeRequiredDescription
data-podcast string required Your podcast's Podovo slug (assigned during onboarding). Every wallet created or connected through this widget instance links to this show automatically.
data-theme enum optional "light" or "dark". Defaults to "light".
data-accent string optional Hex color used for buttons and highlights, so the widget matches your brand.
data-logo url optional URL to your show's logo, displayed in place of the Podovo mark in white-label mode.
data-whitelabel boolean optional When "true", hides Podovo branding in favor of your own — available on partner plans.
data-compact boolean optional Renders a smaller, single-column layout suited to sidebars or show-notes embeds.
Linking to a Podcast
The data-podcast attribute is what ties the widget to your specific show. Every wallet created — or podcast connection made — through that widget instance is recorded against your podcast automatically, the same way the "Connect" buttons on the podcast directory work today.
Example — a show's own site
<div id="podovo-wallet" data-podcast="huberman-lab"></div>
<script src="https://podovo.ai/widget.js" async></script>

Podcast slugs are issued by Podovo and match the identifiers used in the Podcaster API. Contact us if you're not sure what yours is or need one assigned.

Theming & Branding
White-label plans can fully re-skin the widget so it feels like a native part of your site rather than a Podovo embed.
CapabilityDescription
Accent color Match buttons, links, and highlights to your brand palette via data-accent.
Custom logo Replace the Podovo mark with your own show or network logo via data-logo.
Hidden branding Remove "Powered by Podovo" messaging entirely on partner plans via data-whitelabel.
Compact layout Fit the widget into a sidebar or show-notes embed via data-compact.
Get Early Access
The Wallet Widget is in active development. Podcasters interested in white-label branding or early testing can reach out directly.
Request Access

Email craig@podovo.ai with subject line "Wallet Widget Early Access". Include your podcast name and website, and whether you're interested in white-label branding. We'll follow up as soon as the widget is ready for partner testing.