curl --request POST \
--url https://api.croma.run/jp/nta/companies-search/v1 \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"query": "トヨタ自動車",
"prefecture": "愛知県"
}
'import requests
url = "https://api.croma.run/jp/nta/companies-search/v1"
payload = {
"query": "トヨタ自動車",
"prefecture": "愛知県"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({query: 'トヨタ自動車', prefecture: '愛知県'})
};
fetch('https://api.croma.run/jp/nta/companies-search/v1', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.croma.run/jp/nta/companies-search/v1",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'query' => 'トヨタ自動車',
'prefecture' => '愛知県'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.croma.run/jp/nta/companies-search/v1"
payload := strings.NewReader("{\n \"query\": \"トヨタ自動車\",\n \"prefecture\": \"愛知県\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.croma.run/jp/nta/companies-search/v1")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"query\": \"トヨタ自動車\",\n \"prefecture\": \"愛知県\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.croma.run/jp/nta/companies-search/v1")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"query\": \"トヨタ自動車\",\n \"prefecture\": \"愛知県\"\n}"
response = http.request(request)
puts response.read_body{
"data": {
"as_of": "<string>",
"query": "<string>",
"prefecture": "<string>",
"city": "<string>",
"entity_type": "<string>",
"status": "<string>",
"change_type": "<string>",
"from_date": "<string>",
"to_date": "<string>",
"total": 123,
"total_is_exact": true,
"page": 123,
"per_page": 123,
"total_pages": 123,
"count": 123,
"results": [
{
"corporate_number": "<string>",
"name": "<string>",
"name_kana": "<string>",
"name_en": "<string>",
"entity_type": "national_government",
"entity_type_label": "<string>",
"prefecture": "<string>",
"prefecture_code": "<string>",
"city": "<string>",
"city_key": "<string>",
"city_code": "<string>",
"street": "<string>",
"postal_code": "<string>",
"prefecture_en": "<string>",
"city_en": "<string>",
"address_outside_japan": "<string>",
"address_outside_japan_en": "<string>",
"status": "active",
"closed_at": "<string>",
"close_reason": "liquidation",
"successor_corporate_number": "<string>",
"assigned_at": "<string>",
"updated_at": "<string>",
"changed_at": "<string>",
"change_type": "new",
"change_details": "<string>",
"hidden": true,
"name_image_url": "<string>",
"source_name_image_url": "<string>",
"address_image_url": "<string>",
"source_address_image_url": "<string>",
"foreign_address_image_url": "<string>",
"source_foreign_address_image_url": "<string>",
"official_url": "<string>"
}
]
}
}{
"error": {
"type": "<string>",
"code": "<string>",
"message": "<string>",
"param": "<string>",
"details": {}
}
}{
"error": {
"type": "<string>",
"code": "<string>",
"message": "<string>",
"param": "<string>",
"details": {}
}
}{
"error": {
"type": "<string>",
"code": "<string>",
"message": "<string>",
"param": "<string>",
"details": {}
}
}{
"error": {
"type": "<string>",
"code": "<string>",
"message": "<string>",
"param": "<string>",
"details": {}
}
}{
"error": {
"type": "<string>",
"code": "<string>",
"message": "<string>",
"param": "<string>",
"details": {}
}
}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.
curl --request POST \
--url https://api.croma.run/jp/nta/companies-search/v1 \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"query": "トヨタ自動車",
"prefecture": "愛知県"
}
'import requests
url = "https://api.croma.run/jp/nta/companies-search/v1"
payload = {
"query": "トヨタ自動車",
"prefecture": "愛知県"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({query: 'トヨタ自動車', prefecture: '愛知県'})
};
fetch('https://api.croma.run/jp/nta/companies-search/v1', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.croma.run/jp/nta/companies-search/v1",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'query' => 'トヨタ自動車',
'prefecture' => '愛知県'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.croma.run/jp/nta/companies-search/v1"
payload := strings.NewReader("{\n \"query\": \"トヨタ自動車\",\n \"prefecture\": \"愛知県\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.croma.run/jp/nta/companies-search/v1")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"query\": \"トヨタ自動車\",\n \"prefecture\": \"愛知県\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.croma.run/jp/nta/companies-search/v1")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"query\": \"トヨタ自動車\",\n \"prefecture\": \"愛知県\"\n}"
response = http.request(request)
puts response.read_body{
"data": {
"as_of": "<string>",
"query": "<string>",
"prefecture": "<string>",
"city": "<string>",
"entity_type": "<string>",
"status": "<string>",
"change_type": "<string>",
"from_date": "<string>",
"to_date": "<string>",
"total": 123,
"total_is_exact": true,
"page": 123,
"per_page": 123,
"total_pages": 123,
"count": 123,
"results": [
{
"corporate_number": "<string>",
"name": "<string>",
"name_kana": "<string>",
"name_en": "<string>",
"entity_type": "national_government",
"entity_type_label": "<string>",
"prefecture": "<string>",
"prefecture_code": "<string>",
"city": "<string>",
"city_key": "<string>",
"city_code": "<string>",
"street": "<string>",
"postal_code": "<string>",
"prefecture_en": "<string>",
"city_en": "<string>",
"address_outside_japan": "<string>",
"address_outside_japan_en": "<string>",
"status": "active",
"closed_at": "<string>",
"close_reason": "liquidation",
"successor_corporate_number": "<string>",
"assigned_at": "<string>",
"updated_at": "<string>",
"changed_at": "<string>",
"change_type": "new",
"change_details": "<string>",
"hidden": true,
"name_image_url": "<string>",
"source_name_image_url": "<string>",
"address_image_url": "<string>",
"source_address_image_url": "<string>",
"foreign_address_image_url": "<string>",
"source_foreign_address_image_url": "<string>",
"official_url": "<string>"
}
]
}
}{
"error": {
"type": "<string>",
"code": "<string>",
"message": "<string>",
"param": "<string>",
"details": {}
}
}{
"error": {
"type": "<string>",
"code": "<string>",
"message": "<string>",
"param": "<string>",
"details": {}
}
}{
"error": {
"type": "<string>",
"code": "<string>",
"message": "<string>",
"param": "<string>",
"details": {}
}
}{
"error": {
"type": "<string>",
"code": "<string>",
"message": "<string>",
"param": "<string>",
"details": {}
}
}{
"error": {
"type": "<string>",
"code": "<string>",
"message": "<string>",
"param": "<string>",
"details": {}
}
}Authorizations
Use Authorization: Bearer YOUR_API_KEY
Headers
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.
255"0f8e9a42-6b7c-4d1e-9a3f-2c5d7e8f9a0b"
Body
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.
200Optional prefecture of the head office, as the register prints it (東京都, 大阪府, 北海道, 沖縄県) or as its two-digit JIS code (13 for Tokyo).
40Optional city, ward, town or village of the head office as the register prints it, e.g. 千代田区, 横浜市西区, 豊田市, matched from the start.
60Optional 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.
, national_government, local_government, kabushiki_kaisha, yugen_kaisha, gomei_kaisha, goshi_kaisha, godo_kaisha, other_registered, foreign_company, other Optional registration status: active (the register record is open) or closed (closed after liquidation, a merger or by the registrar).
, active, closed 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.
, new, name_change, address_change, foreign_address_change, closed, revived, merger, merger_annulled, trade_name_erased, deleted Optional date filter in yyyy-mm-dd format.
Optional date filter in yyyy-mm-dd format.
1-based page number for paginated results.
1 <= x <= 1000Results per page (1-50).
1 <= x <= 50Response
Successful response
Show child attributes
Show child attributes