WalletWallet API
Get API Key Docs Log in
Powered by

WalletWallet API

Generate Apple Wallet passes with one API call. No certificates or complexity. Just JSON in, .pkpass out.

Starts free for up to 1000 passes per month

$0.00019 per pass on Pro

Example Request
curl -X POST https://api.walletwallet.dev/api/pkpass \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer ww_live_<your_key>" \
  -d '{
    "barcodeValue": "LOYALTY-98765",
    "barcodeFormat": "QR",
    "title": "Coffee Rewards",
    "label": "Member",
    "value": "Gold Status",
    "colorPreset": "dark",
    "expirationDays": 365
  }' \
  -o rewards.pkpass

Returns a valid .pkpass file ready for Apple Wallet

Why WalletWallet API?

Single Endpoint

One POST request, instant .pkpass file. No multi-step flows.

All Barcode Formats

QR, Code128, PDF417, and Aztec supported out of the box.

Pro

Your Branding

Custom colors and logos to match your brand identity.

Auto-Expiration

Set 30, 90, or 365-day expiry to keep wallets tidy.

No Setup Required

We handle Apple certificates. You just send JSON.

Edge Deployed

Running on Cloudflare Workers for fast global response.

Everything is configurable

Click any parameter to edit it live

Br
Bayroast Coffee
EXPIRES
logoURL

Top-left logo. PNG URL or base64.

thumbnailURL

Top-right image. PNG URL or base64.

stripURL

Banner image behind the primary field.

title

The card name.

cardLabel

Label above the title. Defaults to CARD.

label + value

Secondary field. Member name, tier, balance, etc.

expirationDays

Days until the pass expires.

color / colorPreset

Background color. Hex value or preset name.

barcodeValue + barcodeFormat

Barcode data and format.

API Reference

Everything you need to generate passes

Endpoint

POST https://api.walletwallet.dev/api/pkpass

Authentication

Include your API key in the Authorization header using the Bearer scheme.

Headers

Header Value
Content-Type application/json
Authorization Bearer ww_live_<your_key>

Request Body

Field Type Required Description
barcodeValue string Yes The data encoded in the barcode (e.g., member ID, ticket number)
barcodeFormat string Yes One of: QR PDF417 Aztec Code128
title string Yes Pass title displayed on the card
label string No Label text above the value field
value string No Value text displayed below the label
colorPreset string No Color theme: dark blue green red purple orange
color string No Custom hex color (Pro only) e.g., #1e40af
logoURL string No URL to custom logo image (Pro only). Supports HTTPS URLs or a PNG data URI (data:image/png;base64,...).
cardLabel string No Label above the title. Defaults to CARD.
thumbnailURL string No Top-right image. HTTPS URL or PNG data URI. Pro only.
stripURL string No Banner behind the primary field. Switches to store card layout. HTTPS URL or PNG data URI. Pro only.
expirationDays number No Pass expires after 30, 90, or 365 days

Response

200 Returns application/vnd.apple.pkpass binary file (save as .pkpass)
400 Invalid request body or missing required fields
401 Invalid or missing API key
429 Rate limit exceeded
500 Server error

Examples

curl -X POST https://api.walletwallet.dev/api/pkpass \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer ww_live_<your_key>" \
  -d '{
    "barcodeValue": "MEMBER-12345",
    "barcodeFormat": "QR",
    "title": "Membership Card"
  }' \
  -o membership.pkpass
curl -X POST https://api.walletwallet.dev/api/pkpass \
  -H "Authorization: Bearer ww_live_<your_key>" \
  -d '{"barcodeValue":"LOYALTY-98765","barcodeFormat":"QR","title":"Coffee Rewards","label":"Member","value":"Gold Status","colorPreset":"dark","expirationDays":365}' \
  -o rewards.pkpass
curl -X POST https://api.walletwallet.dev/api/pkpass \
  -H "Authorization: Bearer ww_live_<your_key>" \
  -d '{"barcodeValue":"VIP-001","barcodeFormat":"QR","title":"VIP Access","color":"#8B4513","logoURL":"https://example.com/logo.png"}' \
  -o vip.pkpass

Barcode Formats

Format Best For
QR General purpose, high data capacity
PDF417 Boarding passes, IDs
Aztec Transit tickets, compact spaces
Code128 Retail, inventory

Rate Limits

Plan Monthly Limit Custom Colors Custom Logo
Free 1,000 No No
Pro 100,000 Yes Yes

Priced for scale

50x cheaper than the competition

Free

For testing & hobby projects

$0 /month
  • 1,000 passes/month
  • All barcode formats
  • All color presets
  • HTTPS endpoint
Get API Key

Your first month is Pro, automatically

Pro

For production apps

$19 /month
  • 100,000 passes/month
  • All barcode formats
  • Custom colors & logos
  • Webhooks Soon
  • Location aware passes Soon
  • Priority support
Get Pro API Key

$0.00019 per pass

Need more? Contact us for unlimited pricing.

Ready to get started?

Request your API key today. No credit card required.

Get API Key