Procurement & AP
Onboard a vendor in one call, not one week.
Take a GSTIN from the vendor form. Get legal name, GST status, filing behaviour, PAN, company master and directors back before they hit submit.
The problem
- Vendor forms collect a GSTIN, then someone checks it by hand on three portals.
- Inactive or non-filing suppliers slip through and break ITC later.
- Each check comes from a different vendor with a different response format.
The flow
- 1Validate as they typeFormat, state code and checksum run locally — typos never reach a source and never cost anything.
- 2One Business360 callGST, returns, PAN, company and directors in parallel, with fallback across sources.
- 3Decide on risk flagsAuto-approve low risk. Route GST_NOT_ACTIVE or RETURNS_NOT_FILED to a human.
POST /v1/business360
curl https://api.apiserver.in/v1/business360 \
-H "Authorization: Bearer as_test_YOUR_KEY" \
-H "Content-Type: application/json" \
-d '{"gstin":"24AAHCS9156P1ZL","include":["gst","gst_returns","pan","company","directors"]}'const res = await fetch("https://api.apiserver.in/v1/business360", {
method: "POST",
headers: {
Authorization: `Bearer ${process.env.APISERVER_KEY ?? "as_test_YOUR_KEY"}`,
"Content-Type": "application/json",
},
body: JSON.stringify({
"gstin": "24AAHCS9156P1ZL",
"include": [
"gst",
"gst_returns",
"pan",
"company",
"directors"
]
}),
});
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/business360",
headers={
"Authorization": f"Bearer {os.getenv('APISERVER_KEY', 'as_test_YOUR_KEY')}",
},
json={
"gstin": "24AAHCS9156P1ZL",
"include": ["gst", "gst_returns", "pan", "company", "directors"],
},
timeout=10,
)
body = res.json()
print(body["meta"]["charged"], body["meta"]["amount_inr"])<?php
$ch = curl_init('https://api.apiserver.in/v1/business360');
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' => '24AAHCS9156P1ZL',
'include' => ['gst', 'gst_returns', 'pan', 'company', 'directors'],
]),
]);
$body = json_decode(curl_exec($ch), true);
echo $body['meta']['charged'] ? 'charged' : 'not charged';This call
₹10.00
incl. GST · failed checks ₹0
Vendor master records that are verified on entry, with the evidence attached as one JSON document.
APIs used
Bundle
Business360
POST /v1/business360
GSTIN, CIN or PAN → Combined profile + risk flags
₹10.00incl. GST
GST
GST Verify
POST /v1/gst/verify
GSTIN → Legal & trade name, status, registration date, type, address
₹0.75incl. GST
GST
GST Returns
POST /v1/gst/returns
GSTIN → GSTR-1 / GSTR-3B filing status, last 12 periods
₹1.00incl. GST
Your first verified business is a few minutes away.
No sales call. No minimum. ₹0 for failed calls.