> ## Documentation Index
> Fetch the complete documentation index at: https://docs.usecroma.com/llms.txt
> Use this file to discover all available pages before exploring further.

# National Tax Agency Companies Search

> Search Japan's corporate number register (法人番号), about six million companies and other legal entities, by any part of the name in kanji, kana or English, narrowed by `prefecture` (name or JIS code), `city`, `entity_type` (the legal form), `status` (`active` or `closed`), `change_type` (the last change the register recorded) and the date of that change (`from_date`/`to_date`). Each result carries the corporate number, the names, the legal form, the head office, the registration status with any closure, and the last change. Served by Croma from its copy of the register (`as_of` says how current the data is).

**Dataset endpoint**: answers from the whole source in milliseconds and carries `as_of`.



## OpenAPI

````yaml /api-reference/openapi.json post /jp/nta/companies-search/v1
openapi: 3.1.0
info:
  title: Croma Marketplace API
  version: 1.0.0
  description: >-
    Government-data APIs for Colombia, Peru, Mexico, United States, Brazil, El
    Salvador, Bolivia, and Japan, plus global web search. Croma normalizes
    public-sector data into structured JSON for product teams and AI agents.


    Every operation is a POST with a JSON body and an organization API key as a
    bearer token; every operation is an idempotent lookup and accepts an
    optional `Idempotency-Key` header. Paths carry their major version (`/v1`);
    the versioning and deprecation policy, including the `Deprecation` and
    `Sunset` headers a retiring endpoint sends, is at
    https://docs.usecroma.com/versioning. Rate limits are per organization and
    reported on every response (`RateLimit-Policy`, `X-RateLimit-*`):
    https://docs.usecroma.com/rate-limits.
  termsOfService: https://usecroma.com/en/terms
  contact:
    name: Croma support
    url: https://usecroma.com/en/support
    email: support@usecroma.com
servers:
  - url: https://api.croma.run
security: []
paths:
  /jp/nta/companies-search/v1:
    post:
      tags:
        - Japan
        - National Tax Agency of Japan
      summary: National Tax Agency Companies Search
      description: >-
        Search Japan's corporate number register (法人番号), about six million
        companies and other legal entities, by any part of the name in kanji,
        kana or English, narrowed by `prefecture` (name or JIS code), `city`,
        `entity_type` (the legal form), `status` (`active` or `closed`),
        `change_type` (the last change the register recorded) and the date of
        that change (`from_date`/`to_date`). Each result carries the corporate
        number, the names, the legal form, the head office, the registration
        status with any closure, and the last change. Served by Croma from its
        copy of the register (`as_of` says how current the data is).


        **Dataset endpoint**: answers from the whole source in milliseconds and
        carries `as_of`.
      operationId: nta_companies_search
      parameters:
        - $ref: '#/components/parameters/IdempotencyKey'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required: []
              properties:
                query:
                  type: string
                  maxLength: 200
                  default: ''
                  description: >-
                    Optional company name, or any part of it, as the register
                    spells it: in Japanese (`トヨタ自動車`, `トヨタ`), in its reading
                    (`トヨタジドウシャ`) or in English where the company registered one
                    (`Toyota`). Two or more characters; every word must appear.
                prefecture:
                  type: string
                  maxLength: 40
                  default: ''
                  description: >-
                    Optional prefecture of the head office, as the register
                    prints it (`東京都`, `大阪府`, `北海道`, `沖縄県`) or as its two-digit
                    JIS code (`13` for Tokyo).
                city:
                  type: string
                  maxLength: 60
                  default: ''
                  description: >-
                    Optional city, ward, town or village of the head office as
                    the register prints it, e.g. `千代田区`, `横浜市西区`, `豊田市`, matched
                    from the start.
                entity_type:
                  type: string
                  enum:
                    - ''
                    - national_government
                    - local_government
                    - kabushiki_kaisha
                    - yugen_kaisha
                    - gomei_kaisha
                    - goshi_kaisha
                    - godo_kaisha
                    - other_registered
                    - foreign_company
                    - other
                  default: ''
                  description: >-
                    Optional legal form: `kabushiki_kaisha` (株式会社),
                    `yugen_kaisha` (有限会社), `gomei_kaisha` (合名会社), `goshi_kaisha`
                    (合資会社), `godo_kaisha` (合同会社), `other_registered` (other
                    registered entities such as 一般社団法人, 医療法人, 学校法人),
                    `foreign_company` (外国会社), `national_government`,
                    `local_government` or `other`.
                status:
                  type: string
                  enum:
                    - ''
                    - active
                    - closed
                  default: ''
                  description: >-
                    Optional registration status: `active` (the register record
                    is open) or `closed` (closed after liquidation, a merger or
                    by the registrar).
                change_type:
                  type: string
                  enum:
                    - ''
                    - new
                    - name_change
                    - address_change
                    - foreign_address_change
                    - closed
                    - revived
                    - merger
                    - merger_annulled
                    - trade_name_erased
                    - deleted
                  default: ''
                  description: >-
                    Optional kind of the last change the register recorded for
                    the company: `new` (number assigned), `name_change`,
                    `address_change`, `foreign_address_change`, `closed`,
                    `revived`, `merger` (absorbed into another company),
                    `merger_annulled`, `trade_name_erased` or `deleted`. With
                    `from_date` and `to_date`, this finds for example every
                    company registered in a period.
                from_date:
                  type: string
                  format: date
                  default: ''
                  description: Optional date filter in yyyy-mm-dd format.
                to_date:
                  type: string
                  format: date
                  default: ''
                  description: Optional date filter in yyyy-mm-dd format.
                page:
                  type: integer
                  minimum: 1
                  maximum: 1000
                  default: 1
                  description: 1-based page number for paginated results.
                per_page:
                  type: integer
                  minimum: 1
                  maximum: 50
                  default: 20
                  description: Results per page (1-50).
              additionalProperties: false
            example:
              query: トヨタ自動車
              prefecture: 愛知県
      responses:
        '200':
          description: Successful response
          headers:
            X-Request-Id:
              $ref: '#/components/headers/X-Request-Id'
            RateLimit-Policy:
              $ref: '#/components/headers/RateLimit-Policy'
            Idempotency-Key:
              $ref: '#/components/headers/Idempotency-Key'
            Deprecation:
              $ref: '#/components/headers/Deprecation'
            Sunset:
              $ref: '#/components/headers/Sunset'
            X-RateLimit-Limit:
              $ref: '#/components/headers/X-RateLimit-Limit'
            X-RateLimit-Remaining:
              $ref: '#/components/headers/X-RateLimit-Remaining'
            X-RateLimit-Reset:
              $ref: '#/components/headers/X-RateLimit-Reset'
            X-Cache:
              $ref: '#/components/headers/X-Cache'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NtaCompaniesSearchResponse'
        '400':
          description: Invalid request body
          headers:
            X-Request-Id:
              $ref: '#/components/headers/X-Request-Id'
            RateLimit-Policy:
              $ref: '#/components/headers/RateLimit-Policy'
            Idempotency-Key:
              $ref: '#/components/headers/Idempotency-Key'
            Deprecation:
              $ref: '#/components/headers/Deprecation'
            Sunset:
              $ref: '#/components/headers/Sunset'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '401':
          description: Missing or invalid API key
          headers:
            X-Request-Id:
              $ref: '#/components/headers/X-Request-Id'
            RateLimit-Policy:
              $ref: '#/components/headers/RateLimit-Policy'
            Idempotency-Key:
              $ref: '#/components/headers/Idempotency-Key'
            Deprecation:
              $ref: '#/components/headers/Deprecation'
            Sunset:
              $ref: '#/components/headers/Sunset'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '429':
          description: Rate limit exceeded
          headers:
            X-Request-Id:
              $ref: '#/components/headers/X-Request-Id'
            RateLimit-Policy:
              $ref: '#/components/headers/RateLimit-Policy'
            Idempotency-Key:
              $ref: '#/components/headers/Idempotency-Key'
            Deprecation:
              $ref: '#/components/headers/Deprecation'
            Sunset:
              $ref: '#/components/headers/Sunset'
            X-RateLimit-Limit:
              $ref: '#/components/headers/X-RateLimit-Limit'
            X-RateLimit-Remaining:
              $ref: '#/components/headers/X-RateLimit-Remaining'
            X-RateLimit-Reset:
              $ref: '#/components/headers/X-RateLimit-Reset'
            Retry-After:
              $ref: '#/components/headers/Retry-After'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '500':
          description: Internal error
          headers:
            X-Request-Id:
              $ref: '#/components/headers/X-Request-Id'
            RateLimit-Policy:
              $ref: '#/components/headers/RateLimit-Policy'
            Idempotency-Key:
              $ref: '#/components/headers/Idempotency-Key'
            Deprecation:
              $ref: '#/components/headers/Deprecation'
            Sunset:
              $ref: '#/components/headers/Sunset'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '502':
          description: Upstream source returned an error
          headers:
            X-Request-Id:
              $ref: '#/components/headers/X-Request-Id'
            RateLimit-Policy:
              $ref: '#/components/headers/RateLimit-Policy'
            Idempotency-Key:
              $ref: '#/components/headers/Idempotency-Key'
            Deprecation:
              $ref: '#/components/headers/Deprecation'
            Sunset:
              $ref: '#/components/headers/Sunset'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
      security:
        - bearerAuth: []
      externalDocs:
        description: Interactive documentation and examples
        url: https://docs.usecroma.com/guides/japan/nta
components:
  parameters:
    IdempotencyKey:
      name: Idempotency-Key
      in: header
      required: false
      description: >-
        Optional client-chosen key for this request (any string up to 255
        characters, e.g. a UUID). Every Croma operation is an idempotent lookup:
        repeating a request with the same body returns the same result and
        creates nothing, so retrying after a timeout or network failure is
        always safe. The key is echoed back in the `Idempotency-Key` response
        header so you can correlate a retry with its first attempt. Each attempt
        that reaches the API counts against the rate limit.
      schema:
        type: string
        maxLength: 255
        example: 0f8e9a42-6b7c-4d1e-9a3f-2c5d7e8f9a0b
  headers:
    X-Request-Id:
      description: Unique id for the request (req_…). Include it in support reports.
      schema:
        type: string
    RateLimit-Policy:
      description: >-
        Quota policy for this endpoint as an IETF RateLimit-Policy structured
        field, e.g. `"default";q=100;w=86400` (100 requests per 86400-second
        window per organization). Endpoints with an extra hourly ceiling list
        both policies, e.g. `"webSearch";q=100;w=3600, "default";q=100;w=86400`.
        Present on every response, including 401 and 429.
      schema:
        type: string
        example: '"default";q=100;w=86400'
    Idempotency-Key:
      description: >-
        The `Idempotency-Key` the request carried, echoed back unchanged. Absent
        when the request sent none.
      schema:
        type: string
    Deprecation:
      description: >-
        Present only on an endpoint version scheduled for removal: the date the
        deprecation took effect (RFC 9745). A `Sunset` header and a `Link` with
        `rel="successor-version"` accompany it. Policy:
        https://docs.usecroma.com/versioning
      schema:
        type: string
        example: '@1767225600'
    Sunset:
      description: >-
        Present only on an endpoint version scheduled for removal: the date
        after which it answers 410 (RFC 8594). Announced in the changelog at
        least 90 days ahead.
      schema:
        type: string
        format: date-time
        example: Wed, 01 Apr 2026 00:00:00 GMT
    X-RateLimit-Limit:
      description: Requests allowed in the current window.
      schema:
        type: integer
    X-RateLimit-Remaining:
      description: Requests left before you are throttled.
      schema:
        type: integer
    X-RateLimit-Reset:
      description: ISO 8601 timestamp when the window resets.
      schema:
        type: string
        format: date-time
    X-Cache:
      description: >-
        HIT or MISS. Cached hits spend no credits, but still count toward an
        hourly ceiling.
      schema:
        type: string
        enum:
          - HIT
          - MISS
    Retry-After:
      description: Seconds to wait before retrying.
      schema:
        type: integer
  schemas:
    NtaCompaniesSearchResponse:
      type: object
      required:
        - data
      properties:
        data:
          $ref: '#/components/schemas/NtaCompaniesSearchData'
    ApiError:
      type: object
      required:
        - error
      properties:
        error:
          type: object
          required:
            - type
            - code
            - message
          properties:
            type:
              type: string
              description: >-
                Broad category: invalid_request_error, authentication_error,
                not_found_error, rate_limit_error, upstream_error, api_error.
            code:
              type: string
              description: Machine-readable specific code.
            message:
              type: string
              description: Human-readable explanation, safe to surface in UI.
            param:
              type: string
              description: Field that triggered the error. Present on validation errors.
            details:
              type: object
              description: Free-form structured detail.
    NtaCompaniesSearchData:
      type: object
      properties:
        as_of:
          anyOf:
            - type: string
            - type: 'null'
          description: How current the data in this response is.
        query:
          type: string
        prefecture:
          anyOf:
            - type: string
            - type: 'null'
        city:
          anyOf:
            - type: string
            - type: 'null'
        entity_type:
          anyOf:
            - type: string
            - type: 'null'
        status:
          anyOf:
            - type: string
            - type: 'null'
        change_type:
          anyOf:
            - type: string
            - type: 'null'
        from_date:
          anyOf:
            - type: string
            - type: 'null'
        to_date:
          anyOf:
            - type: string
            - type: 'null'
        total:
          type: number
          description: Matches, counted up to 1000.
        total_is_exact:
          type: boolean
          description: >-
            False when more than 1000 match: `total` is then 1000, and the pages
            go on.
        page:
          type: number
        per_page:
          type: number
        total_pages:
          type: number
          description: Pages over `total`; there are more when `total_is_exact` is false.
        count:
          type: number
        results:
          type: array
          items:
            type: object
            properties:
              corporate_number:
                type: string
                description: >-
                  The 13-digit corporate number (法人番号) the National Tax Agency
                  assigned, e.g. "1180301018771". The first digit checks the
                  other twelve.
              name:
                type: string
                description: >-
                  The company's name (商号又は名称) as registered, e.g. "トヨタ自動車株式会社".
                  Cut at 150 characters by the register; `name_image_url` then
                  carries the whole of it.
              name_kana:
                anyOf:
                  - type: string
                  - type: 'null'
                description: >-
                  The reading of the name in katakana (フリガナ), when the register
                  records one.
              name_en:
                anyOf:
                  - type: string
                  - type: 'null'
                description: The name in English, when the company registered one.
              entity_type:
                type: string
                enum:
                  - national_government
                  - local_government
                  - kabushiki_kaisha
                  - yugen_kaisha
                  - gomei_kaisha
                  - goshi_kaisha
                  - godo_kaisha
                  - other_registered
                  - foreign_company
                  - other
                description: >-
                  The legal form: `kabushiki_kaisha` (株式会社), `yugen_kaisha`
                  (有限会社), `gomei_kaisha` (合名会社), `goshi_kaisha` (合資会社),
                  `godo_kaisha` (合同会社), `other_registered` (any other registered
                  entity: 一般社団法人, 医療法人, 学校法人, 宗教法人...), `foreign_company`
                  (外国会社), `national_government`, `local_government` or `other`.
              entity_type_label:
                type: string
                description: >-
                  The legal form as the register labels it, e.g. "株式会社",
                  "その他の設立登記法人".
              prefecture:
                anyOf:
                  - type: string
                  - type: 'null'
                description: >-
                  The prefecture of the head office (国内所在地), e.g. "愛知県", "東京都".
                  Null for a company whose only address is abroad.
              prefecture_code:
                anyOf:
                  - type: string
                  - type: 'null'
                description: >-
                  The prefecture's two-digit JIS X 0401 code, e.g. "23" for 愛知県,
                  "13" for 東京都.
              city:
                anyOf:
                  - type: string
                  - type: 'null'
                description: >-
                  The city, ward, town or village of the head office, e.g.
                  "豊田市", "千代田区".
              city_key:
                anyOf:
                  - type: string
                  - type: 'null'
                description: >-
                  `city` folded for matching (compatibility forms normalized,
                  lowercased), which is what the `city` filter matches from the
                  start.
              city_code:
                anyOf:
                  - type: string
                  - type: 'null'
                description: The municipality's five-digit JIS X 0402 code, e.g. "23211".
              street:
                anyOf:
                  - type: string
                  - type: 'null'
                description: >-
                  The rest of the head office address (丁目番地等), e.g. "トヨタ町1番地".
                  Cut at 300 characters by the register; `address_image_url`
                  then carries the whole address.
              postal_code:
                anyOf:
                  - type: string
                  - type: 'null'
                description: >-
                  The seven-digit postal code the register derives from the
                  address. Derived, so it can be wrong or missing.
              prefecture_en:
                anyOf:
                  - type: string
                  - type: 'null'
                description: >-
                  The prefecture in English, when the company registered its
                  address in English.
              city_en:
                anyOf:
                  - type: string
                  - type: 'null'
                description: >-
                  The city and the rest of the address in English, when the
                  company registered them.
              address_outside_japan:
                anyOf:
                  - type: string
                  - type: 'null'
                description: >-
                  The address abroad (国外所在地) for a foreign company, as
                  registered.
              address_outside_japan_en:
                anyOf:
                  - type: string
                  - type: 'null'
                description: The address abroad in English, when registered.
              status:
                type: string
                enum:
                  - active
                  - closed
                  - deleted
                description: >-
                  `active` while the register record is open, `closed` once it
                  was closed (see `close_reason`), `deleted` when the register
                  removed the number.
              closed_at:
                anyOf:
                  - type: string
                  - type: 'null'
                description: >-
                  `yyyy-mm-dd` the register record was closed. Null while
                  active.
              close_reason:
                anyOf:
                  - type: string
                    enum:
                      - liquidation
                      - merger
                      - registrar
                      - other_liquidation
                  - type: 'null'
                description: >-
                  Why the record was closed: `liquidation` (清算の結了等), `merger`
                  (合併による解散等), `registrar` (登記官による閉鎖) or `other_liquidation`
                  (その他の清算の結了等). Null while active.
              successor_corporate_number:
                anyOf:
                  - type: string
                  - type: 'null'
                description: >-
                  The corporate number of the company this one was merged into,
                  when it closed by merger.
              assigned_at:
                anyOf:
                  - type: string
                  - type: 'null'
                description: >-
                  `yyyy-mm-dd` the corporate number was assigned. `2015-10-05`
                  for every company that existed when the system started.
              updated_at:
                type: string
                description: >-
                  `yyyy-mm-dd` the register last changed the record; what
                  `from_date` and `to_date` filter on.
              changed_at:
                anyOf:
                  - type: string
                  - type: 'null'
                description: >-
                  `yyyy-mm-dd` of the event behind the last change (the
                  registration date of the change), when the register states it.
              change_type:
                type: string
                enum:
                  - new
                  - name_change
                  - address_change
                  - foreign_address_change
                  - closed
                  - revived
                  - merger
                  - merger_annulled
                  - trade_name_erased
                  - deleted
                description: >-
                  The last change the register recorded: `new`, `name_change`,
                  `address_change`, `foreign_address_change`, `closed`,
                  `revived`, `merger`, `merger_annulled`, `trade_name_erased` or
                  `deleted`.
              change_details:
                anyOf:
                  - type: string
                  - type: 'null'
                description: >-
                  The register's own note on the last change (変更事由の詳細), when it
                  wrote one.
              hidden:
                type: boolean
                description: >-
                  True for a company the register keeps out of its own name
                  search; it is then found only by its corporate number here as
                  well.
              name_image_url:
                anyOf:
                  - type: string
                  - type: 'null'
                description: >-
                  Croma's copy of the image the register publishes for a name it
                  cannot print in full (characters outside JIS, or more than 150
                  characters), byte for byte. Null for almost every company.
              source_name_image_url:
                anyOf:
                  - type: string
                  - type: 'null'
                description: The register's own link to that image.
              address_image_url:
                anyOf:
                  - type: string
                  - type: 'null'
                description: >-
                  Croma's copy of the image the register publishes for an
                  address it cannot print in full. Null for almost every
                  company.
              source_address_image_url:
                anyOf:
                  - type: string
                  - type: 'null'
                description: The register's own link to that image.
              foreign_address_image_url:
                anyOf:
                  - type: string
                  - type: 'null'
                description: >-
                  Croma's copy of the image the register publishes for an
                  address abroad it cannot print in full.
              source_foreign_address_image_url:
                anyOf:
                  - type: string
                  - type: 'null'
                description: The register's own link to that image.
              official_url:
                type: string
                description: >-
                  The company's page at the National Tax Agency's corporate
                  number site.
            required:
              - corporate_number
              - name
              - name_kana
              - name_en
              - entity_type
              - entity_type_label
              - prefecture
              - prefecture_code
              - city
              - city_key
              - city_code
              - street
              - postal_code
              - prefecture_en
              - city_en
              - address_outside_japan
              - address_outside_japan_en
              - status
              - closed_at
              - close_reason
              - successor_corporate_number
              - assigned_at
              - updated_at
              - changed_at
              - change_type
              - change_details
              - hidden
              - name_image_url
              - source_name_image_url
              - address_image_url
              - source_address_image_url
              - foreign_address_image_url
              - source_foreign_address_image_url
              - official_url
      required:
        - as_of
        - query
        - prefecture
        - city
        - entity_type
        - status
        - change_type
        - from_date
        - to_date
        - total
        - total_is_exact
        - page
        - per_page
        - total_pages
        - count
        - results
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: 'Use Authorization: Bearer YOUR_API_KEY'

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.