IndiaCos Gst API
The Gst API from IndiaCos — 2 operation(s) for gst.
The Gst API from IndiaCos — 2 operation(s) for gst.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.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.curl "https://apis.io/api/v1/apis/indiacos-com:indiacos-com-gst-api"
curl "https://apis.io/api/v1/apis?limit=25"
Calls without X-API-Key need no key. Calls with it need a paid plan — get a 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.
openapi: 3.2.0
info:
title: IndiaCos Gst API
version: 2.0.0
description: 'Prepaid API (sign up at https://indiacos.com/signup for ₹50 of free credit, then ₹0.40 per successful call; HTTP 402 insufficient_balance when the wallet is empty; agents: https://indiacos.com/auth.md; docs at https://indiacos.com/api/docs) to Indian companies and LLPs (status, capital, registered office, charges, GST filings), GST registrations, PAN lookups, directors, name pages, shared addresses, search and court-case summaries, one record at a time, under the IndiaCos Data Licence (https://indiacos.com/terms#licence): internal business use, commercial included, and showing individual records to your own users are allowed; resale or redistribution of the data, building a competing database and AI training need a written licence (support@indiacos.com). There are no bulk downloads.'
contact:
email: support@indiacos.com
license:
name: IndiaCos Data Licence
url: https://indiacos.com/terms#licence
servers:
- url: https://indiacos.com/api/v1
security:
- bearer: []
- apiKey: []
- oauth:
- api
tags:
- name: Gst
paths:
/gst/{gstin}:
get:
summary: GST registration by GSTIN
operationId: getGst
parameters:
- name: gstin
in: path
required: true
schema:
type: string
pattern: ^[0-9]{2}[A-Z0-9]{13}$
example: 27AAOCM9194L2ZF
- name: refresh
in: query
schema:
type: string
enum:
- 'true'
description: 'true: read the record from the GST portal now unless it was read in the last 30 days (waits up to ~25 s)'
responses:
'200':
description: Registration
content:
application/json:
schema:
$ref: '#/components/schemas/Gst'
'202':
description: 'Not on record yet: being read live from the GST portal (the call waits up to about a minute first). Not billed; retry after Retry-After seconds.'
'404':
description: Error
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
tags:
- Gst
/gst/{gstin}/cases:
get:
summary: Court cases naming this business (companies, LLPs, firms only)
operationId: getCases
parameters:
- name: gstin
in: path
required: true
schema:
type: string
pattern: ^[0-9]{2}[A-Z0-9]{13}$
example: 27AAOCM9194L2ZF
- name: format
in: query
schema:
type: string
enum:
- json
- html
- parts
default: json
description: json (default), html (the court-cases section), parts (JSON with rendered pieces)
responses:
'200':
description: Case summary
'404':
description: Error
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'422':
description: Error
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'503':
description: Error
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
tags:
- Gst
components:
schemas:
Error:
type: object
properties:
error:
type: string
message:
type: string
docs:
type: string
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
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: '#/components/schemas/Regulatory'
retrieved_on:
type: string
url:
type: string
securitySchemes:
bearer:
type: http
scheme: bearer
description: API key of your IndiaCos account (https://indiacos.com/signup)
apiKey:
type: apiKey
in: header
name: X-API-Key
oauth:
type: oauth2
flows:
authorizationCode:
authorizationUrl: https://indiacos.com/oauth/authorize
tokenUrl: https://indiacos.com/oauth/token
refreshUrl: https://indiacos.com/oauth/token
scopes:
api: Use the API, billed to the wallet