Guides

Setting Up the Lipi.ai Developer API

Integrate font identification and URL compliance scanning into your own apps. This guide walks you through applying for access, generating your key, and making your first request.

What You Get

  • 10 free credits every month — no credit card required. Credits reset on the 1st of each month.
  • Font Identification API — upload an image (base64) and get ranked font matches with confidence scores and licensing info.
  • URL Scan API — scan any URL to detect fonts in use and flag licensing issues. Results are cached for 7 days and cache hits are free.
  • Async job pattern — submit a job, poll for results. 60 requests/minute rate limit.
  • Need more? Subscribe for 100 credits/month at $75. Unused credits roll over.

Step-by-Step Instructions

1

Submit an application

Go to Dashboard → Developer API and fill out the application form. You'll need to provide:

  • Use case — describe how you plan to use the API (required). Be specific; this speeds up review.
  • Expected monthly volume — helps us understand if you need the free tier or a subscription.
  • Company / Website — optional but helpful for context.
Developer API application form with fields for company, use case, expected volume, and website URL
The application form at /dashboard/api-keys
2

Wait for approval

After you submit, you'll see an “Application Under Review” screen. Most applications are reviewed within 24 hours. You'll get an email once a decision is made.

Application under review state showing yellow clock icon and submission timestamp
Review usually takes under 24 hours
3

Generate your API key

Once approved, return to Developer API and click Generate API Key. You'll immediately receive 10 free credits.

Application approved state with green checkmark and Generate API Key button
Click Generate API Key after your application is approved
4

Save your key — it's shown only once

Your full API key (prefixed lpi_) is displayed in an amber banner. Copy it immediately and store it somewhere secure — a password manager, environment file, or secrets store. For security, we never show the full key again after this screen.

New API key banner with full key string and copy button
Copy your key now — it won't be shown again

Lost your key? You can revoke it from the dashboard and generate a new one. The old key will immediately stop working.

5

Monitor your credits and usage

Your dashboard shows three key numbers:

  • Free Credits — remaining free credits this month. Resets on the 1st.
  • Paid Credits — subscription credits. Rolls over month-to-month.
  • Total Requests — lifetime request count.

Below that you'll find your masked key, a Quick Start code snippet, and a Recent Usage table with timestamps, endpoints, credit sources, and HTTP status codes.

Developer API dashboard showing credit counters, API key, quick start snippet, and recent usage table
Your full developer dashboard once the key is active
6

Make your first request

Authenticate every request with the x-api-key header. Here's a font identification request:

bash
# Step 1: Submit an image for identification
curl -X POST https://api.lipi.ai/v3/font-match \
  -H "x-api-key: lpi_YOUR_KEY_HERE" \
  -H "Content-Type: application/json" \
  -d '{"image": "data:image/png;base64,iVBORw0KGgo..."}'

# Response:
# {
#   "job_id": "a1b2c3...",
#   "status": "pending",
#   "credits_charged": 1,
#   "credits_remaining": 0,
#   "free_credits_remaining": 9,
#   "poll_url": "/v3/font-match/a1b2c3..."
# }

# Step 2: Poll for results (usually ready in ~10s)
curl https://api.lipi.ai/v3/font-match/a1b2c3... \
  -H "x-api-key: lpi_YOUR_KEY_HERE"

For URL scanning:

bash
curl -X POST https://api.lipi.ai/v3/url-scan \
  -H "x-api-key: lpi_YOUR_KEY_HERE" \
  -H "Content-Type: application/json" \
  -d '{"url": "https://example.com"}'

Prefer Postman? Download the official collection: Lipi-Enterprise-API.postman_collection.json

7

Subscribe for more volume (optional)

Hit your monthly free credits? Click Subscribe — $75/mo on your dashboard to get 100 credits every billing cycle. Unused credits roll over, so you never lose what you've paid for. You can cancel anytime — remaining credits stay available until they're used.

Subscribe button on the developer dashboard showing $75/mo pricing
Click Subscribe to start your subscription
Stripe checkout page for the $75/mo API subscription
Stripe handles the payment securely
Active subscription card showing green checkmark, $75/mo, Buy 100 Credits button, and cancel option
Your subscription is active — 100 credits added
8

Buy additional credits (subscribers only)

Need more than your monthly 100? As a subscriber you can buy additional packs of 100 credits for $60 — a discounted rate only available to active subscribers. Click Buy 100 Credits — $60 on your dashboard and complete the one-time Stripe checkout. Credits are added instantly and roll over.

Buy 100 Credits button on the active subscription card
The Buy Credits button appears for active subscribers
Stripe checkout page for one-time $60 credit top-up
One-time payment — no recurring charge

How Credits Are Used

When you make a request, credits are deducted in this order:

  1. Free credits first (up to 10/month) — reset automatically on the 1st of each calendar month the first time you make a request.
  2. Paid credits next — only used once free credits are exhausted. These roll over month-to-month. Subscribers can buy extra packs of 100 credits for $60 each.
  3. Cache hits are free — if you scan a URL that's been scanned in the last 7 days, we return the cached result at zero cost.

Every response includes credits_charged, credits_remaining, and free_credits_remaining so you always know where you stand.

Troubleshooting

401 Unauthorized

Your key is missing, malformed, or has been revoked. Check that you're sending the x-api-key header (not Authorization) and that the key starts with lpi_.

402 Payment Required / Out of credits

You've used all your free and paid credits. Either wait for the monthly free reset, subscribe for 100 more credits, or upgrade your subscription tier for overage capacity.

429 Too Many Requests

You exceeded the 60 requests/minute limit. Back off for a few seconds and retry. For consistently high volume, reach out to us about a higher rate limit.

Job stuck on PENDING for more than 60 seconds

Most jobs finish in under 15 seconds. If a job is stuck, poll the poll_url; failed jobs return an error message and your credit is automatically refunded.

Keep your key server-side

Never ship your API key in client-side code (browser JavaScript, mobile apps, public repos). Anyone with your key can spend your credits. Always call the Lipi.ai API from a backend you control — use your key as a server-side environment variable, and have your frontend call your backend, not us directly.