One call. Full business picture.
Business360 returns GST, PAN, company master and directors in a single request.
Early accessWe're onboarding teams in batches. The sandbox and docs are open to everyone. Request access →
GST, PAN, MCA company, directors/DIN and CIN↔PAN through one key, one schema, one wallet.
Sandbox open to all · keys issued in batches · no sales call
Example: a single POST to /v1/business360 with a GSTIN returns the legal name, GST status, return filing summary, PAN, company master, directors and CIN to PAN mapping, ending with meta: charged true, amount 10.00 rupees, latency 612 milliseconds.
Five promises
Predictable prices, honest billing, boring reliability. The things a KYB vendor should have been doing all along.
Business360 returns GST, PAN, company master and directors in a single request.
You are never charged when a request fails, times out or a source is down.
Prices include GST. No setup fee, no minimum wallet, no annual contract, no hidden charges.
Automatic fallback across multiple providers. If one fails, we try the next. You're billed once.
Self-serve signup, API key instantly, no sales call.
Modular by design
Take the full picture or just one piece. Pay only for the checks that succeed.
Call any endpoint on its own. Only GST? Only directors? Pay for that and nothing else.
{
"gstin": "29AAJCK4821M1Z1"
}Every module in one call, run in parallel with fallback. Capped at the bundle price.
{
"gstin": "29AAJCK4821M1Z1"
}Send include with the modules you want. Each one is billed only if it succeeds.
{
"gstin": "29AAJCK4821M1Z1",
"include": ["gst", "pan", "directors"]
}AI integration builder
Describe your product in a sentence. Get the exact checks to run, a monthly estimate with GST included, and a request you can paste into your code.
Business360
Send a GSTIN, CIN or PAN. Business360 resolves the rest, runs six checks in parallel, and hands back one profile with risk flags.
Why switch
What developers run into with typical verification providers, and what you get here instead.
| Topic | Typical verification providers | APIserver.in |
|---|---|---|
| Pricing | “Contact sales for pricing” | Every price public on /pricing |
| Commitment | ₹25k–₹50k minimum wallet or commitment | Top up any amount from ₹100 |
| Tax | Prices shown excluding GST, extra fees later | Price shown = price paid (GST included) |
| Failures | Charged for failed or timed-out calls | ₹0 for failures, shown on every response (meta.charged) |
| Schema | Different response format per API | One normalized schema for every endpoint |
| Uptime | Single upstream source, so its downtime is yours | Multi-provider fallback, public status page |
| Onboarding | Days of onboarding | Self-serve signup, no sales call |
Never stuck on one source
Every check is routed across multiple providers. A timeout on one quietly falls through to another. If every source is down, you get a clear error and pay ₹0.
API catalogue
Every launch API, its input and output, and the price you'll actually pay.
POST /v1/business360
GSTIN, CIN or PAN → Combined profile + risk flags
POST /v1/gst/verify
GSTIN → Legal & trade name, status, registration date, type, address
POST /v1/gst/returns
GSTIN → GSTR-1 / GSTR-3B filing status, last 12 periods
POST /v1/gst/by-pan
PAN → All GSTINs linked to the PAN
POST /v1/pan/verify
PAN (+ optional name) → Valid, name match score, holder category
POST /v1/mca/company
CIN or LLPIN → Company master data
POST /v1/mca/search
Company name → Matching companies with CIN
POST /v1/mca/directors
CIN → Directors with DIN, designation, dates
POST /v1/mca/din
DIN → Director name + associated companies
POST /v1/mca/cin-to-pan
CIN or company PAN → The matching company PAN or CIN
Penny-less account + name check.
MSME registration lookup.
VPA validity and registered name.
Consent-based document fetch.
Pricing
The number you see is the number on your invoice. Failed calls never show up on it.
Business360
₹10.00
per successful call · incl. GST
GST Verify
₹0.75
per successful call · incl. GST
PAN Verify
₹2.00
per successful call · incl. GST
Company
₹3.50
per successful call · incl. GST
Developer experience
Copy a snippet, swap in your key, ship. The docs, the playground and the spec all come from one source of truth.
curl https://api.apiserver.in/v1/gst/verify \
-H "Authorization: Bearer as_test_YOUR_KEY" \
-H "Content-Type: application/json" \
-d '{"gstin":"29AAJCK4821M1Z1"}'const res = await fetch("https://api.apiserver.in/v1/gst/verify", {
method: "POST",
headers: {
Authorization: `Bearer ${process.env.APISERVER_KEY ?? "as_test_YOUR_KEY"}`,
"Content-Type": "application/json",
},
body: JSON.stringify({
"gstin": "29AAJCK4821M1Z1"
}),
});
const { success, data, meta, error } = await res.json();
console.log(meta.charged, meta.amount_inr); // failed calls are never chargedimport os, requests
res = requests.post(
"https://api.apiserver.in/v1/gst/verify",
headers={
"Authorization": f"Bearer {os.getenv('APISERVER_KEY', 'as_test_YOUR_KEY')}",
},
json={
"gstin": "29AAJCK4821M1Z1",
},
timeout=10,
)
body = res.json()
print(body["meta"]["charged"], body["meta"]["amount_inr"])<?php
$ch = curl_init('https://api.apiserver.in/v1/gst/verify');
curl_setopt_array($ch, [
CURLOPT_POST => true,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => [
'Authorization: Bearer ' . (getenv('APISERVER_KEY') ?: 'as_test_YOUR_KEY'),
'Content-Type: application/json',
],
CURLOPT_POSTFIELDS => json_encode([
'gstin' => '29AAJCK4821M1Z1',
]),
]);
$body = json_decode(curl_exec($ch), true);
echo $body['meta']['charged'] ? 'charged' : 'not charged';Signed in? Snippets across the site use your own test key automatically.
Encrypted in transit
TLS on every request.
Keys shown once
Reveal-once secrets, instant revoke.
PII masked in logs
ABCDE****F by default.
Test ≠ live
Sandbox keys never touch live data.
Business data only
Company, tax and director records.
No sales call. No minimum. ₹0 for failed calls.