Early accessWe're onboarding teams in batches. The sandbox and docs are open to everyone. Request access →

Skip to content
APIserver.in

Business360

GST, PAN, company master and directors in one call.

POST/v1/business360

₹10.00

per successful call · incl. GST · failed calls ₹0

What it does

Send any one identifier. Business360 resolves the rest, runs every module in parallel with source fallback, and returns one normalized profile with risk flags. Pick modules with include, pay only for the ones that succeed.

Input
GSTIN, CIN or PAN
Output
Combined profile + risk flags

Use cases

  • Vendor and supplier onboarding
  • Marketplace seller KYB
  • Credit and underwriting pre-checks
  • Periodic re-verification

Request

curl https://api.apiserver.in/v1/business360 \
  -H "Authorization: Bearer as_test_YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{"gstin":"29AAJCK4821M1Z1","include":["gst","gst_returns","pan","company","directors","cin_pan"]}'
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": "29AAJCK4821M1Z1",
    "include": [
      "gst",
      "gst_returns",
      "pan",
      "company",
      "directors",
      "cin_pan"
    ]
  }),
});

const { success, data, meta, error } = await res.json();
console.log(meta.charged, meta.amount_inr); // failed calls are never charged
import 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": "29AAJCK4821M1Z1",
        "include": ["gst", "gst_returns", "pan", "company", "directors", "cin_pan"],
    },
    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' => '29AAJCK4821M1Z1',
        'include' => ['gst', 'gst_returns', 'pan', 'company', 'directors', 'cin_pan'],
    ]),
]);
$body = json_decode(curl_exec($ch), true);
echo $body['meta']['charged'] ? 'charged' : 'not charged';
Request body fields
FieldTypeDescription
gstinstring15-character GSTIN. Validated locally (state code, embedded PAN, mod-36 checksum) before any source is called.
cinstring21-character Corporate Identification Number.
panstring10-character PAN. The 4th character encodes the holder type.
include"gst" | "gst_returns" | "pan" | "company" | "directors" | "cin_pan"[]Modules to run. Omit for the full bundle. Each module is billed at its single-API price only if it succeeds; the total never exceeds the bundle price.

Response

Sample response for a fictional sandbox entity. Click any key to copy its JSON path.

{  : true,  : "as_req_01J9X2K7R8M4V6T2Q9W3E5Y1ZB",  : "business360",  : "2026-10-01",  : {    : {      : "KAVERI TEXTILES PRIVATE LIMITED",      : "Kaveri Textiles",      : "company",      : "AAJCK4821M",      : "29AAJCK4821M1Z1",      : "U17120KA2016PTC094312",      : null,      : "Karnataka",      : {        : "low",        : []      }    },    : {      : "ok",      : {        : "29AAJCK4821M1Z1",        : "KAVERI TEXTILES PRIVATE LIMITED",        : "Kaveri Textiles",        : "Active",        : "2017-07-01",        : null,        : "Regular",        : "Private Limited Company",        : "Karnataka",        : "29",        : "AAJCK4821M",        : {          : "No. 14, 3rd Cross, Phase II",          : "Peenya Industrial Area",          : "Bengaluru",          : "Bengaluru Urban",          : "Karnataka",          : "560058"        },        : [          "Manufacturing",          "Wholesale Business"        ],        : true      },      : true,      : 0.75,      : 1,      : 300    },    : {      : "ok",      : {        : "29AAJCK4821M1Z1",        : "monthly",        : [          {            : "2026-08",            : {              : "filed",              : "2026-09-10",              : "2026-09-11"            },            : {              : "filed",              : "2026-09-18",              : "2026-09-20"            }          },          {            : "2026-07",            : {              : "filed",              : "2026-08-10",              : "2026-08-11"            },            : {              : "filed",              : "2026-08-18",              : "2026-08-20"            }          },          {            : "2026-06",            : {              : "filed",              : "2026-07-10",              : "2026-07-11"            },            : {              : "filed",              : "2026-07-18",              : "2026-07-20"            }          },          {            : "2026-05",            : {              : "filed",              : "2026-06-10",              : "2026-06-11"            },            : {              : "filed",              : "2026-06-18",              : "2026-06-20"            }          },          {            : "2026-04",            : {              : "filed",              : "2026-05-10",              : "2026-05-11"            },            : {              : "filed",              : "2026-05-18",              : "2026-05-20"            }          },          {            : "2026-03",            : {              : "filed",              : "2026-04-10",              : "2026-04-11"            },            : {              : "filed",              : "2026-04-18",              : "2026-04-20"            }          },          {            : "2026-02",            : {              : "filed",              : "2026-03-10",              : "2026-03-11"            },            : {              : "filed",              : "2026-03-18",              : "2026-03-20"            }          },          {            : "2026-01",            : {              : "filed",              : "2026-02-10",              : "2026-02-11"            },            : {              : "filed",              : "2026-02-18",              : "2026-02-20"            }          },          {            : "2025-12",            : {              : "filed",              : "2026-01-10",              : "2026-01-11"            },            : {              : "filed",              : "2026-01-18",              : "2026-01-20"            }          },          {            : "2025-11",            : {              : "filed",              : "2025-12-10",              : "2025-12-11"            },            : {              : "filed",              : "2025-12-18",              : "2025-12-20"            }          },          {            : "2025-10",            : {              : "filed",              : "2025-11-10",              : "2025-11-11"            },            : {              : "filed",              : "2025-11-18",              : "2025-11-20"            }          },          {            : "2025-09",            : {              : "filed",              : "2025-10-10",              : "2025-10-11"            },            : {              : "filed",              : "2025-10-18",              : "2025-10-20"            }          }        ],        : {          : 12,          : 24,          : 0,          : 0,          : "2026-08"        }      },      : true,      : 1,      : 1,      : 337    },    : {      : "ok",      : {        : "AAJCK4821M",        : true,        : "Valid",        : "Company",        : "KAVERI TEXTILES PRIVATE LIMITED",        : null      },      : true,      : 2,      : 1,      : 374    },    : {      : "ok",      : {        : "company",        : "U17120KA2016PTC094312",        : null,        : "KAVERI TEXTILES PRIVATE LIMITED",        : "Active",        : "Private",        : "Company limited by shares",        : "Non-government company",        : "2016-05-12",        : "RoC-Bengaluru",        : "Unlisted",        : 5000000,        : 3250000,        : {          : "17120",          : "Textiles"        },        : "2025-09-26",        : "2025-03-31",        : {          : "No. 14, 3rd Cross, Phase II",          : "Peenya Industrial Area",          : "Bengaluru",          : "Bengaluru Urban",          : "Karnataka",          : "560058"        }      },      : true,      : 3.5,      : 1,      : 411    },    : {      : "ok",      : {        : "U17120KA2016PTC094312",        : null,        : "KAVERI TEXTILES PRIVATE LIMITED",        : 3,        : 2,        : [          {            : "07419266",            : "Anand Raghavan",            : "Managing Director",            : "2016-05-12",            : null,            : "Approved"          },          {            : "08133570",            : "Kavitha Subramanian",            : "Director",            : "2018-04-02",            : null,            : "Approved"          },          {            : "06522419",            : "Prakash Iyer",            : "Director",            : "2016-05-12",            : "2021-03-31",            : "Approved"          }        ]      },      : true,      : 4,      : 1,      : 448    },    : {      : "ok",      : {        : "U17120KA2016PTC094312",        : null,        : "AAJCK4821M",        : "KAVERI TEXTILES PRIVATE LIMITED",        : "cin_to_pan"      },      : true,      : 3.5,      : 1,      : 485    }  },  : {    : true,    : 10,    : 612,    : "live",    : 6,    : "2026-10-03T09:12:00+05:30",    : "live",    : 6,    : 6,    : {      : 14.75,      : 10,      : 4.75    }  }}

Field dictionary — data

Response data fields
FieldTypeDescription
summaryobject—
↳legal_namestring | null—
↳trade_namestring | null—
↳entity_type"company" | "llp" | "proprietorship" | null—
↳panstring | null—
↳gstinstring | null—
↳cinstring | null—
↳llpinstring | null—
↳statestring | null—
↳riskobject—
gstobject—
↳status"ok" | "failed" | "not_found" | "skipped"—
↳dataobject | null—
↳errorobject—
↳reasonstringWhy a module was skipped
↳chargedboolean—
↳amount_inrnumber—
↳attemptsinteger—
↳latency_msinteger—
gst_returnsobject—
↳status"ok" | "failed" | "not_found" | "skipped"—
↳dataobject | null—
↳errorobject—
↳reasonstringWhy a module was skipped
↳chargedboolean—
↳amount_inrnumber—
↳attemptsinteger—
↳latency_msinteger—
panobject—
↳status"ok" | "failed" | "not_found" | "skipped"—
↳dataobject | null—
↳errorobject—
↳reasonstringWhy a module was skipped
↳chargedboolean—
↳amount_inrnumber—
↳attemptsinteger—
↳latency_msinteger—
companyobject—
↳status"ok" | "failed" | "not_found" | "skipped"—
↳dataobject | null—
↳errorobject—
↳reasonstringWhy a module was skipped
↳chargedboolean—
↳amount_inrnumber—
↳attemptsinteger—
↳latency_msinteger—
directorsobject—
↳status"ok" | "failed" | "not_found" | "skipped"—
↳dataobject | null—
↳errorobject—
↳reasonstringWhy a module was skipped
↳chargedboolean—
↳amount_inrnumber—
↳attemptsinteger—
↳latency_msinteger—
cin_panobject—
↳status"ok" | "failed" | "not_found" | "skipped"—
↳dataobject | null—
↳errorobject—
↳reasonstringWhy a module was skipped
↳chargedboolean—
↳amount_inrnumber—
↳attemptsinteger—
↳latency_msinteger—

Errors

Every error uses the same envelope and is billed ₹0 — `meta.charged` is always false.

Errors this endpoint can return
HTTPCodeWhat it meansRetryBilled
400VALIDATION_FAILEDSomething in the request isn't in the right shape — usually an ID with a typo or a missing field.no₹0
401AUTH_INVALID_KEYWe couldn't find a valid API key on this request.no₹0
402WALLET_INSUFFICIENT_BALANCEYour wallet doesn't have enough for this call, so we didn't run it.no₹0
404RECORD_NOT_FOUNDThe source has no record for this ID.no₹0
429RATE_LIMITEDYou sent requests faster than your key's limit.yes₹0
503PROVIDER_UNAVAILABLEAll upstream sources for this check were down, even after fallback.yes₹0
504PROVIDER_TIMEOUTThe upstream source took too long to answer.yes₹0

₹10.00

Business360 · incl. GST · failed calls ₹0

Get early access