# Fixed reference example. Playground inputs do not update this sample.
curl --request GET \
--url https://api.aisa.one/apis/v1/cnpja/office/06990590000123 \
--header 'Authorization: Bearer <token>'curl --request GET \
--url https://api.aisa.one/apis/v1/cnpja/office/{taxId} \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.aisa.one/apis/v1/cnpja/office/{taxId}"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.aisa.one/apis/v1/cnpja/office/{taxId}', 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.aisa.one/apis/v1/cnpja/office/{taxId}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.aisa.one/apis/v1/cnpja/office/{taxId}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.aisa.one/apis/v1/cnpja/office/{taxId}")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.aisa.one/apis/v1/cnpja/office/{taxId}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"address": {
"city": "São Paulo",
"country": {
"id": 76,
"name": "Brasil"
},
"details": "Andar 17A20 Tsul 2 17A20",
"district": "Itaim Bibi",
"municipality": 3550308,
"number": "3477",
"state": "SP",
"street": "Avenida Brig Faria Lima",
"zip": "04538133"
},
"alias": null,
"company": {
"equity": 200000000,
"id": "06990590",
"members": [
{
"agent": {
"person": {
"age": "51-60",
"country": {
"id": 76,
"name": "Brasil"
},
"id": "1cf6c284-8400-5c85-89e3-b20e0093be5a",
"name": "Yun Ki Lee",
"taxId": "***746608**",
"type": "NATURAL"
},
"role": {
"id": 17,
"text": "Procurador"
}
},
"person": {
"country": {
"id": 840,
"name": "Estados Unidos"
},
"id": "f172f1f6-46f5-5a10-9fb9-8d7c2dbdc2f9",
"name": "GOOGLE LLC",
"taxId": "06947284000104",
"type": "LEGAL"
},
"role": {
"id": 37,
"text": "Sócio Pessoa Jurídica Domiciliado no Exterior"
},
"since": "2004-09-01"
},
{
"person": {
"age": "61-70",
"country": {
"id": 76,
"name": "Brasil"
},
"id": "dc20e638-a27c-547c-bb7d-5ee7cbd917b7",
"name": "Fabio Jose Silva Coelho",
"taxId": "***133807**",
"type": "NATURAL"
},
"role": {
"id": 5,
"text": "Administrador"
},
"since": "2014-08-26"
}
],
"name": "GOOGLE BRASIL INTERNET LTDA.",
"nature": {
"id": 2062,
"text": "Sociedade Empresária Limitada"
},
"size": {
"acronym": "DEMAIS",
"id": 5,
"text": "Demais"
}
},
"emails": [
{
"address": "googlebrasil@google.com",
"domain": "google.com",
"ownership": "CORPORATE"
}
],
"founded": "2004-09-01",
"head": true,
"mainActivity": {
"id": 6319400,
"text": "Portais, provedores de conteúdo e outros serviços de informação na Internet"
},
"phones": [
{
"area": "11",
"number": "23958400",
"type": "LANDLINE"
}
],
"sideActivities": [
{
"id": 4751201,
"text": "Comércio varejista especializado de equipamentos e suprimentos de informática"
},
{
"id": 6201501,
"text": "Desenvolvimento de programas de computador sob encomenda"
},
{
"id": 6202300,
"text": "Desenvolvimento e licenciamento de programas de computador customizáveis"
},
{
"id": 6311900,
"text": "Tratamento de dados, provedores de serviços de aplicação e serviços de hospedagem na Internet"
},
{
"id": 6462000,
"text": "Holdings de instituições não financeiras"
},
{
"id": 7319004,
"text": "Consultoria em publicidade"
},
{
"id": 8299799,
"text": "Outras atividades de serviços prestados principalmente às empresas não especificadas anteriormente"
}
],
"status": {
"id": 2,
"text": "Ativa"
},
"statusDate": "2004-09-01",
"taxId": "06990590000123",
"updated": "2026-09-08T20:11:15.000Z"
}CNPJ Office Lookup
Look up the registered profile of a Brazilian company office (establishment) by its 14-digit CNPJ tax ID.
# Fixed reference example. Playground inputs do not update this sample.
curl --request GET \
--url https://api.aisa.one/apis/v1/cnpja/office/06990590000123 \
--header 'Authorization: Bearer <token>'curl --request GET \
--url https://api.aisa.one/apis/v1/cnpja/office/{taxId} \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.aisa.one/apis/v1/cnpja/office/{taxId}"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.aisa.one/apis/v1/cnpja/office/{taxId}', 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.aisa.one/apis/v1/cnpja/office/{taxId}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.aisa.one/apis/v1/cnpja/office/{taxId}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.aisa.one/apis/v1/cnpja/office/{taxId}")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.aisa.one/apis/v1/cnpja/office/{taxId}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"address": {
"city": "São Paulo",
"country": {
"id": 76,
"name": "Brasil"
},
"details": "Andar 17A20 Tsul 2 17A20",
"district": "Itaim Bibi",
"municipality": 3550308,
"number": "3477",
"state": "SP",
"street": "Avenida Brig Faria Lima",
"zip": "04538133"
},
"alias": null,
"company": {
"equity": 200000000,
"id": "06990590",
"members": [
{
"agent": {
"person": {
"age": "51-60",
"country": {
"id": 76,
"name": "Brasil"
},
"id": "1cf6c284-8400-5c85-89e3-b20e0093be5a",
"name": "Yun Ki Lee",
"taxId": "***746608**",
"type": "NATURAL"
},
"role": {
"id": 17,
"text": "Procurador"
}
},
"person": {
"country": {
"id": 840,
"name": "Estados Unidos"
},
"id": "f172f1f6-46f5-5a10-9fb9-8d7c2dbdc2f9",
"name": "GOOGLE LLC",
"taxId": "06947284000104",
"type": "LEGAL"
},
"role": {
"id": 37,
"text": "Sócio Pessoa Jurídica Domiciliado no Exterior"
},
"since": "2004-09-01"
},
{
"person": {
"age": "61-70",
"country": {
"id": 76,
"name": "Brasil"
},
"id": "dc20e638-a27c-547c-bb7d-5ee7cbd917b7",
"name": "Fabio Jose Silva Coelho",
"taxId": "***133807**",
"type": "NATURAL"
},
"role": {
"id": 5,
"text": "Administrador"
},
"since": "2014-08-26"
}
],
"name": "GOOGLE BRASIL INTERNET LTDA.",
"nature": {
"id": 2062,
"text": "Sociedade Empresária Limitada"
},
"size": {
"acronym": "DEMAIS",
"id": 5,
"text": "Demais"
}
},
"emails": [
{
"address": "googlebrasil@google.com",
"domain": "google.com",
"ownership": "CORPORATE"
}
],
"founded": "2004-09-01",
"head": true,
"mainActivity": {
"id": 6319400,
"text": "Portais, provedores de conteúdo e outros serviços de informação na Internet"
},
"phones": [
{
"area": "11",
"number": "23958400",
"type": "LANDLINE"
}
],
"sideActivities": [
{
"id": 4751201,
"text": "Comércio varejista especializado de equipamentos e suprimentos de informática"
},
{
"id": 6201501,
"text": "Desenvolvimento de programas de computador sob encomenda"
},
{
"id": 6202300,
"text": "Desenvolvimento e licenciamento de programas de computador customizáveis"
},
{
"id": 6311900,
"text": "Tratamento de dados, provedores de serviços de aplicação e serviços de hospedagem na Internet"
},
{
"id": 6462000,
"text": "Holdings de instituições não financeiras"
},
{
"id": 7319004,
"text": "Consultoria em publicidade"
},
{
"id": 8299799,
"text": "Outras atividades de serviços prestados principalmente às empresas não especificadas anteriormente"
}
],
"status": {
"id": 2,
"text": "Ativa"
},
"statusDate": "2004-09-01",
"taxId": "06990590000123",
"updated": "2026-09-08T20:11:15.000Z"
}company.name, the trade name (alias, which may be null), registration status, founded date, the full registered address, the shareholder/partner structure (company.members), registered phones / emails, and the primary/secondary economic activities (mainActivity / sideActivities).
Pass the CNPJ as the taxId path parameter (digits only, no punctuation) and authenticate with your AIsa API key as a bearer token — the same key used across every AIsa /apis/* endpoint.
Example: GET /apis/v1/cnpja/office/06990590000123 returns the office registered under that CNPJ, including company.name, alias, status, address, company.members, and mainActivity.
Error responses: a malformed CNPJ that fails the check-digit (checksum) algorithm returns HTTP 400 (request validation failed) — a client-side input error. A well-formed CNPJ that is simply not registered returns HTTP 404 (tax id not registered at revenue service).
Billing: per call (1 credit per lookup). Current prices are on aisa.one/api. The “not registered” HTTP 404 result returns a valid JSON body and is still billed 1 credit; only 429, 5xx, and network errors are not billed. (A 400 validation error is a client-side rejection.)
Request contract
- Method and path: GET /apis/v1/cnpja/office/{taxId}
- Availability: enabled
- Request URL template: https://api.aisa.one/apis/v1/cnpja/office/{taxId}
- taxId: path; required
- geocoding: query; optional
- links: query; optional
- maxAge: query; optional
- maxStale: query; optional
- registrations: query; optional
- simples: query; optional
- simplesHistory: query; optional
- strategy: query; optional
- suframa: query; optional
- Runtime facts: 7902aca01742f50a011ae8ad568f2a7a312ad5685b1751738ffd879a4d9b4a2f
{
"operationId": "get_cnpja_office_lookup",
"method": "GET",
"path": "/apis/v1/cnpja/office/{taxId}",
"servers": [
{
"url": "https://api.aisa.one"
}
],
"parameters": [
{
"description": "The 14-digit Brazilian CNPJ number of the office to look up (digits only, no punctuation). Punctuated input fails routing. Example: `06990590000123`.",
"in": "path",
"name": "taxId",
"required": true,
"schema": {
"example": "06990590000123",
"type": "string"
}
},
{
"in": "query",
"name": "geocoding",
"required": false,
"schema": {
"type": "boolean"
}
},
{
"in": "query",
"name": "links",
"required": false,
"schema": {
"maxLength": 256,
"type": "string"
}
},
{
"in": "query",
"name": "maxAge",
"required": false,
"schema": {
"maximum": 9223372036854775807,
"minimum": 0,
"type": "integer"
}
},
{
"in": "query",
"name": "maxStale",
"required": false,
"schema": {
"maximum": 9223372036854775807,
"minimum": 0,
"type": "integer"
}
},
{
"in": "query",
"name": "registrations",
"required": false,
"schema": {
"maxLength": 256,
"type": "string"
}
},
{
"in": "query",
"name": "simples",
"required": false,
"schema": {
"type": "boolean"
}
},
{
"in": "query",
"name": "simplesHistory",
"required": false,
"schema": {
"type": "boolean"
}
},
{
"in": "query",
"name": "strategy",
"required": false,
"schema": {
"maxLength": 32,
"type": "string"
}
},
{
"in": "query",
"name": "suframa",
"required": false,
"schema": {
"type": "boolean"
}
}
],
"security": [
{
"bearerAuth": []
}
],
"x-aisa-status": "enabled",
"x-aisa-pricing": {
"cost_contract": "response_units",
"customer_multiplier": 1.0,
"customer_pricing": "provider_cost_multiplier",
"default_request_estimate_usd": 0.0288,
"estimate_source": "profile_seed",
"evidence_source": "response_header"
},
"components": {
"securitySchemes": {
"bearerAuth": {
"scheme": "bearer",
"type": "http"
}
}
}
}
Cost and request rules
Usage-based billing; Default request estimate: $0.0288 USD (not a fixed price). Account-specific pricing and final settlement may differ. Published reference values are not an account-specific quote or a settled charge. For endpoints supporting X-AISA-Cost-Mode: quote, obtain a free quote for your exact request before execution; reconcile the settled cost with response metadata and Usage Logs. USD amounts use 1,000,000 integer micro-USD per dollar.- Default request reference estimate (USD): 0.0288
- Cost contract: response_units
- Published reference multiplier: 1.0
- Settlement evidence source: response_header
Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Path Parameters
The 14-digit Brazilian CNPJ number of the office to look up (digits only, no punctuation). Punctuated input fails routing. Example: 06990590000123.
"06990590000123"
Query Parameters
2560 <= x <= 92233720368547760000 <= x <= 922337203685477600025632Response
The registered office profile for the given CNPJ.
Registered address of the office.
Show child attributes
Show child attributes
Trade name (nome fantasia) of the office, when registered. Returns null for offices without a registered trade name.
The parent legal entity.
Show child attributes
Show child attributes
Registered email addresses.
Show child attributes
Show child attributes
Registration/opening date of the office (YYYY-MM-DD).
Whether this office is the company headquarters (matriz).
Primary economic activity (CNAE) of the office.
Show child attributes
Show child attributes
Registered phone numbers.
Show child attributes
Show child attributes
Secondary economic activities (CNAE).
Show child attributes
Show child attributes
Registration status of the office (e.g. Ativa / Baixada).
Show child attributes
Show child attributes
Date of the current registration status (YYYY-MM-DD).
The 14-digit CNPJ of this office.
Timestamp of the last update of this record at the revenue service (ISO 8601).