Properties
| Name | Type | Description |
|---|---|---|
| gstin | string | |
| legal_name | string | |
| trade_name | stringnull | |
| pan | string | |
| pan_holder_type | string | |
| constitution | string | |
| taxpayer_type | string | |
| status | string | |
| registration_date | string | |
| nature_of_business | array | |
| address | object | Principal place of business. The GST portal publishes it as one line (full); city, district and pincode are read from it. street repeats full for older clients. |
| additional_addresses | array | Additional places of business. The public GST portal does not publish them, so this is empty for now. |
| jurisdiction | object | centre and state as the portal writes them, and the same split into named parts (zone, commissionerate, division, range; state, district, ward ...) |
| core_business_activity | objectnull | Nature of core business activity |
| aadhaar_authenticated_on | stringnull | |
| profile | object | completeness: full once the record has been read from the GST portal, basic while only the GSTIN and name are on record. A basic record is read live during the call (waits up to ~25 s); refreshing: tr |
| same_pan_registrations | objectnull | |
| trademarks | objectnull | |
| court_cases_api | string | |
| turnover_band | objectnull | |
| contact | object | email and mobile: masked, or in full (with full: true) on keys with contact access |
| cancellation_date | stringnull | |
| aadhaar_authenticated | booleannull | |
| einvoice_enabled | boolean | |
| flags | array | |
| company | objectnull | |
| return_filings | array | GST returns on record. period is a month name, a quarter (QRMP filers file in the last month of the quarter) or Annual; null period = a year-level record. |
| portal_checks | objectnull | From the GST portal taxpayer profile, when we have read it. Booleans are null when the portal gives no value. |
| shared_address | objectnull | |
| regulatory | object | |
| retrieved_on | string | |
| url | string |
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://artifacts.apis.io/indiacos-com/json-schema/indiacos-com-gst-schema.json",
"title": "Gst",
"x-generated": "2026-11-12",
"x-method": "derived",
"x-generator": "derive-json-schema.py",
"x-source": "openapi/indiacos-com-openapi.json#/components/schemas/Gst",
"type": "object",
"properties": {
"gstin": {
"type": "string"
},
"legal_name": {
"type": "string"
},
"trade_name": {
"type": [
"string",
"null"
]
},
"pan": {
"type": "string"
},
"pan_holder_type": {
"type": "string"
},
"constitution": {
"type": "string"
},
"taxpayer_type": {
"type": "string"
},
"status": {
"type": "string"
},
"registration_date": {
"type": "string",
"format": "date"
},
"nature_of_business": {
"type": "array",
"items": {
"type": "string"
}
},
"address": {
"type": "object",
"description": "Principal place of business. The GST portal publishes it as one line (full); city, district and pincode are read from it. street repeats full for older clients.",
"properties": {
"full": {
"type": [
"string",
"null"
]
},
"street": {
"type": [
"string",
"null"
]
},
"locality": {
"type": [
"string",
"null"
]
},
"city": {
"type": [
"string",
"null"
]
},
"district": {
"type": [
"string",
"null"
]
},
"state": {
"type": [
"string",
"null"
]
},
"state_code": {
"type": "string"
},
"pincode": {
"type": [
"string",
"null"
]
}
}
},
"additional_addresses": {
"type": "array",
"items": {
"type": "object"
},
"description": "Additional places of business. The public GST portal does not publish them, so this is empty for now."
},
"jurisdiction": {
"type": "object",
"description": "centre and state as the portal writes them, and the same split into named parts (zone, commissionerate, division, range; state, district, ward ...)",
"properties": {
"centre": {
"type": [
"string",
"null"
]
},
"state": {
"type": [
"string",
"null"
]
},
"centre_detail": {
"type": [
"object",
"null"
]
},
"state_detail": {
"type": [
"object",
"null"
]
}
}
},
"core_business_activity": {
"type": [
"object",
"null"
],
"description": "Nature of core business activity",
"properties": {
"code": {
"type": "string",
"description": "MFT, SPO, TRD:TRR, TRD:TWD"
},
"description": {
"type": [
"string",
"null"
]
}
}
},
"aadhaar_authenticated_on": {
"type": [
"string",
"null"
],
"format": "date"
},
"profile": {
"type": "object",
"description": "completeness: full once the record has been read from the GST portal, basic while only the GSTIN and name are on record. A basic record is read live during the call (waits up to ~25 s); refreshing: true means it is still being read - retry in a minute.",
"properties": {
"completeness": {
"type": "string",
"enum": [
"full",
"basic"
]
},
"refreshing": {
"type": "boolean"
},
"last_read_from_portal": {
"type": [
"string",
"null"
]
},
"note": {
"type": [
"string",
"null"
]
}
}
},
"same_pan_registrations": {
"type": [
"object",
"null"
],
"properties": {
"count": {
"type": "integer"
},
"api": {
"type": "string"
}
}
},
"trademarks": {
"type": [
"object",
"null"
],
"properties": {
"total": {
"type": "integer"
},
"api": {
"type": "string"
}
}
},
"court_cases_api": {
"type": "string"
},
"turnover_band": {
"type": [
"object",
"null"
]
},
"contact": {
"type": "object",
"description": "email and mobile: masked, or in full (with full: true) on keys with contact access",
"properties": {
"email": {
"type": [
"string",
"null"
]
},
"mobile": {
"type": [
"string",
"null"
]
},
"full": {
"type": "boolean"
}
}
},
"cancellation_date": {
"type": [
"string",
"null"
],
"format": "date"
},
"aadhaar_authenticated": {
"type": [
"boolean",
"null"
]
},
"einvoice_enabled": {
"type": "boolean"
},
"flags": {
"type": "array",
"items": {
"type": "object"
}
},
"company": {
"type": [
"object",
"null"
],
"properties": {
"cin": {
"type": "string"
},
"name": {
"type": "string"
},
"url": {
"type": "string"
},
"api": {
"type": "string"
}
}
},
"return_filings": {
"type": "array",
"description": "GST returns on record. period is a month name, a quarter (QRMP filers file in the last month of the quarter) or Annual; null period = a year-level record.",
"items": {
"type": "object",
"properties": {
"form": {
"type": "string"
},
"financial_year": {
"type": "string"
},
"period": {
"type": [
"string",
"null"
]
},
"status": {
"type": "string"
},
"filed_on": {
"type": [
"string",
"null"
],
"format": "date"
}
}
}
},
"portal_checks": {
"type": [
"object",
"null"
],
"description": "From the GST portal taxpayer profile, when we have read it. Booleans are null when the portal gives no value.",
"properties": {
"checked_on": {
"type": "string",
"format": "date"
},
"field_visit_conducted": {
"type": [
"boolean",
"null"
]
},
"aadhaar_authenticated": {
"type": [
"boolean",
"null"
]
},
"aadhaar_authenticated_on": {
"type": [
"string",
"null"
],
"format": "date"
},
"ekyc_verified": {
"type": [
"boolean",
"null"
]
},
"einvoice_enabled": {
"type": [
"boolean",
"null"
]
},
"core_business": {
"type": [
"string",
"null"
],
"description": "Portal code: MFT manufacturer, TRD:TRR retail trader, TRD:TWD wholesale trader, SPO service provider"
}
}
},
"shared_address": {
"type": [
"object",
"null"
]
},
"regulatory": {
"$ref": "#/$defs/Regulatory"
},
"retrieved_on": {
"type": "string"
},
"url": {
"type": "string"
}
},
"$defs": {
"Regulatory": {
"type": "array",
"description": "Entries in regulator lists carrying its CIN, PAN or DIN: IBBI insolvency announcements, RBI NBFC/ARC registration, securities-market orders (SEBI and other authorities, from the exchange list), ROC strike-off lists. Also on /company and /director responses.",
"items": {
"type": "object",
"properties": {
"list": {
"type": "string"
},
"type": {
"type": "string"
},
"name_in_list": {
"type": [
"string",
"null"
]
},
"cin": {
"type": [
"string",
"null"
]
},
"pan": {
"type": [
"string",
"null"
]
},
"din": {
"type": [
"string",
"null"
]
},
"date": {
"type": [
"string",
"null"
],
"format": "date"
},
"until": {
"type": [
"string",
"null"
],
"format": "date"
},
"period": {
"type": [
"string",
"null"
]
},
"status": {
"type": [
"string",
"null"
]
},
"details": {
"type": "object"
}
}
}
}
}
}
Work with this as data
Every JSON Schema here is available over the APIs.io API and to AI agents over MCP.
MCP server
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
Tools for schemas
4 MCP tools reach this
find_json_schemasBrowse and filter every JSON Schema in the catalog.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.
Call it yourself
curl for this page
This JSON Schema
curl "https://apis.io/api/v1/json-schemas/indiacos-com-gst"
All schemas
curl "https://apis.io/api/v1/json-schemas?limit=25"
Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.