Build on the ZipZy platform.
Powerful REST APIs for developers to integrate URL shortening, QR codes, analytics, messaging and future ZipZy products.
- Base URL
- api.zipzy.in
- Auth
- Bearer key
- Format
- JSON
curl -X POST https://api.zipzy.in/v1/links \
-H "Authorization: Bearer $ZIPZY_API_KEY" \
-H "Content-Type: application/json" \
-d '{ "destination": "https://example.com/very/long/path" }'{"id": "lnk_abc123","shortUrl": "https://zpzy.in/abc123","destination": "https://example.com/very/long/path","createdAt": "2026-07-15T09:24:11Z"}One platform, one key
APIs for every ZipZy product.
The same base URL and the same key reach every product below. Build against what's live today; the coming-soon products join the same platform, not a separate one.
- AvailableDashboard APIOne key for links, codes, pages and analytics across the workspace.
- AvailableURL Shortener APICreate, update, expire and read short links programmatically.
- AvailableQR Code APIGenerate dynamic and static codes, return PNG, SVG or PDF.
- AvailableAnalytics APIQuery clicks and scans by date, geography, device and UTM.
- AvailableLanding Page APIBuild, publish and read landing pages and their form submissions.
- Coming soonMessaging APISend and track messages once ZipZy Messaging is generally available.
- Coming soonHRMS APIEmployees, attendance and payroll endpoints for ZipZy HRMS.
Developer experience
The things you check for before you commit to an API.
No surprises in the contract: predictable REST, JSON both ways, scoped keys, clear limits and a version that won't move under you.
REST API
Predictable resources, standard verbs, standard status codes.
JSON everywhere
JSON request and response bodies, UTF-8, no surprises.
Fast responses
Served from the edge, with low latency on read endpoints.
OAuth
OAuth 2.0 for third-party apps is on the roadmap.
API keys
Scoped, revocable keys with separate test and live modes.
Rate limits
Clear per-key limits, with headers on every response.
Versioning
Date-based versions so upgrades never break you silently.
SDKs
Typed clients so you write app code, not fetch boilerplate.
Webhooks
Signed, retried event delivery for anything asynchronous.
Sandbox
A test mode that mirrors production without touching real data.
Quick start
Your first request, in your language.
Create a short link with a single call. Switch languages to see the same request in the stack you actually use.
curl -X POST https://api.zipzy.in/v1/links \
-H "Authorization: Bearer $ZIPZY_API_KEY" \
-H "Content-Type: application/json" \
-d '{ "destination": "https://example.com/very/long/url" }'Every snippet hits the same endpoint. See the full reference.
Authentication
One header. Keys you can scope and revoke.
Authentication is a bearer token on every request. Keys are scoped per environment, so a leaked sandbox key can't touch production, and any key can be rotated without downtime.
API keys
Create scoped keys per environment. Rotate or revoke them without downtime.
Bearer tokens
Every request carries the key in an Authorization: Bearer header over HTTPS.
OAuth 2.0Planned
Authorisation-code flow for apps acting on behalf of other ZipZy accounts.
Security
TLS only, signed webhooks, and secrets shown once at creation time.
# Every request carries your key as a bearer token, over TLS.
curl https://api.zipzy.in/v1/links \
-H "Authorization: Bearer $ZIPZY_API_KEY"
# Keys are server-side only. Never ship one in a browser
# or mobile bundle — proxy through your own backend instead.Treat an API key like a password. If one is exposed, revoke it in the dashboard and issue a new one — old keys stop working immediately.
Webhooks
Real-time events, pushed to you.
Instead of polling for changes, register an endpoint and receive an event the moment something happens. Deliveries are signed so you can verify them, and retried with backoff if your endpoint blips.
link.created
A short link was created, by anyone in the workspace.
qr.generated
A QR code was generated and is ready to serve.
link.clicked
A link was clicked or a code scanned, with full context.
campaign.updated
A campaign's links or settings changed.
{
"id": "evt_3a91f0",
"type": "link.clicked",
"createdAt": "2026-07-15T09:24:11Z",
"data": {
"linkId": "lnk_9f2c8a1b",
"shortUrl": "https://zpzy.in/abc123",
"country": "IN",
"city": "Bengaluru",
"device": "mobile",
"referrer": "instagram.com"
}
}Verify the signature header against your signing secret before trusting a payload.
SDKs
Typed clients, so the compiler catches the typos.
Prefer a library to raw HTTP? Official SDKs wrap the API in idiomatic types for each language. Where one isn't ready yet, the OpenAPI spec generates a client and the REST API works from anywhere.
- Node.js
- PHP
- Python
- JavaSoon
- GoSoon
- .NETSoon
- RubySoon
Documentation
Everything you need to go from key to production.
The reference is organised the way you'll actually hit it — auth first, then endpoints, then the operational details that matter once you're live.
- AuthenticationKeys, tokens and environments.
- EndpointsEvery resource and its verbs.
- ExamplesCopy-paste recipes per language.
- Rate limitsLimits, headers and backoff.
- ErrorsStatus codes and error shapes.
- PaginationCursors for large collections.
- WebhooksEvents, signatures and retries.
- SDKsTyped clients and their docs.
Why ZipZy
Built the way you'd want an API built.
The difference between an API you enjoy and one you fight is rarely the feature list — it's whether the contract is predictable and the docs assume you have other work to do.
| Capability | ZipZy | Traditional APIs |
|---|---|---|
| REST | Resource-oriented, standard verbsTraditional: Ad-hoc RPC endpoints | Ad-hoc RPC endpoints |
| JSON | JSON in and out, everywhereTraditional: Mixed formats | Mixed formats |
| SDKs | Typed clients, more comingTraditional: Community-maintained, if any | Community-maintained, if any |
| Webhooks | Signed and retriedTraditional: Polling, or none | Polling, or none |
| Authentication | Scoped keys, OAuth plannedTraditional: A single shared key | A single shared key |
| Documentation | Examples per languageTraditional: A reference dump | A reference dump |
| Examples | Copy-paste, runnableTraditional: Left as an exercise | Left as an exercise |
| Versioning | Date-based, non-breakingTraditional: Breaking changes in place | Breaking changes in place |
"Traditional APIs" here describes the common pattern of an ad-hoc internal API exposed to third parties — not any specific provider.
FAQ
Developer questions.
How do I get an API key?
Is the ZipZy API free to use?
What can I build with the ZipZy API?
How does authentication work?
What are the rate limits?
Do you send webhooks?
How is the API versioned?
Which SDKs are available?
Is there a sandbox or test mode?
Where is the full documentation?
Start building with ZipZy APIs.
One key, one base URL, and a platform that keeps adding products. Grab a key and make your first request in minutes.