IndiaCos Gst API

The Gst API from IndiaCos — 2 operation(s) for gst.

GitHub OpenAPI

Operations 2

GET /gst/{gstin} GST registration by GSTIN #
GET /gst/{gstin}/cases Court cases naming this business (companies, LLPs, firms only) #

Work with this as data

Every API 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 apis

7 MCP tools reach this
  • 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.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/indiacos-com:indiacos-com-gst-api"
All apis
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.

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.

OpenAPI Specification

indiacos-com-gst-api-openapi.yml Raw ↑
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