Pessoa Jurídica
Linha do tempo da empresa
Cronologia reversa (mais recente primeiro) de eventos e alteracoes cadastrais da empresa: entrada/saida de socio, capital, situacao, razao social, endereco, CNAE e Simples/MEI. Cada resposta traz um mapa de cobertura (a partir de quando a base e confiavel). Custo: 1 token.
GET
/
empresas
/
cnpj
/
{cnpj}
/
linha-do-tempo
Linha do tempo da empresa
curl --request GET \
--url 'https://221b-api.sherlocker.com.br/api/v1/empresas/cnpj/{cnpj}/linha-do-tempo?token='import requests
url = "https://221b-api.sherlocker.com.br/api/v1/empresas/cnpj/{cnpj}/linha-do-tempo?token="
response = requests.get(url)
print(response.text)const options = {method: 'GET'};
fetch('https://221b-api.sherlocker.com.br/api/v1/empresas/cnpj/{cnpj}/linha-do-tempo?token=', 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://221b-api.sherlocker.com.br/api/v1/empresas/cnpj/{cnpj}/linha-do-tempo?token=",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
]);
$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://221b-api.sherlocker.com.br/api/v1/empresas/cnpj/{cnpj}/linha-do-tempo?token="
req, _ := http.NewRequest("GET", url, nil)
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://221b-api.sherlocker.com.br/api/v1/empresas/cnpj/{cnpj}/linha-do-tempo?token=")
.asString();require 'uri'
require 'net/http'
url = URI("https://221b-api.sherlocker.com.br/api/v1/empresas/cnpj/{cnpj}/linha-do-tempo?token=")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
response = http.request(request)
puts response.read_body{
"cnpj": "12.345.678/0001-99",
"cobertura": {
"dados_a_partir_de": "2024-01",
"meses_disponiveis": [
"2024-01",
"2024-02",
"2024-03",
"2024-04",
"2024-05"
],
"aviso": "Meses não listados ainda não foram processados; alterações nesses períodos podem não aparecer. Eventos com origem 'estado_inicial' representam o estado no início do monitoramento, não uma alteração."
},
"retornados": 2,
"truncado": false,
"linha_do_tempo": [
{
"data": "2024-05-15",
"data_oficial": true,
"mes_referencia": "2024-05",
"entidade": "empresa",
"estabelecimento": "12.345.678/0001-99",
"tipo": "razao_social_alterada",
"categoria": "cadastro",
"origem": "alteracao",
"titulo": "Razão social alterada",
"descricao": "Razão social alterada de \"Empresa Velha Ltda\" para \"Empresa Nova Ltda\".",
"campo": "razao_social",
"de": {
"descricao": "Empresa Velha Ltda"
},
"para": {
"descricao": "Empresa Nova Ltda"
},
"pessoa": null
},
{
"data": "2024-04-10",
"data_oficial": true,
"mes_referencia": "2024-04",
"entidade": "socio",
"estabelecimento": "12.345.678/0001-99",
"tipo": "socio_entrada",
"categoria": "socios",
"origem": "alteracao",
"titulo": "Entrada de sócio",
"descricao": "João Silva Da Costa entrou como Sócio-Administrador.",
"de": null,
"para": {
"descricao": "João Silva Da Costa"
},
"pessoa": {
"nome": "João Silva Da Costa",
"documento": "123.456.789-10",
"qualificacao": "Sócio-Administrador"
}
}
]
}{
"success": false,
"erro": {
"codigo": "VALIDATION_ERROR",
"mensagem": "CPF invalido"
}
}{
"success": false,
"erro": {
"codigo": "VALIDATION_ERROR",
"mensagem": "CPF invalido"
}
}Authorizations
Path Parameters
CNPJ da empresa (14 digitos)
Example:
"12345678000199"
Query Parameters
Filtra por tipo de evento. CSV dos 15 tipos (ex.: socio_entrada,capital_alterado). Omitido = todos.
Example:
"socio_entrada,socio_saida"
Mes inicial inclusive (YYYY-MM)
Example:
"2024-01"
Mes final inclusive (YYYY-MM)
Example:
"2024-12"
Maximo de eventos retornados (1 a 2000, padrao 500). Sem offset: use truncado + filtros para ver mais.
Required range:
x <= 2000Example:
500
⌘I
Linha do tempo da empresa
curl --request GET \
--url 'https://221b-api.sherlocker.com.br/api/v1/empresas/cnpj/{cnpj}/linha-do-tempo?token='import requests
url = "https://221b-api.sherlocker.com.br/api/v1/empresas/cnpj/{cnpj}/linha-do-tempo?token="
response = requests.get(url)
print(response.text)const options = {method: 'GET'};
fetch('https://221b-api.sherlocker.com.br/api/v1/empresas/cnpj/{cnpj}/linha-do-tempo?token=', 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://221b-api.sherlocker.com.br/api/v1/empresas/cnpj/{cnpj}/linha-do-tempo?token=",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
]);
$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://221b-api.sherlocker.com.br/api/v1/empresas/cnpj/{cnpj}/linha-do-tempo?token="
req, _ := http.NewRequest("GET", url, nil)
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://221b-api.sherlocker.com.br/api/v1/empresas/cnpj/{cnpj}/linha-do-tempo?token=")
.asString();require 'uri'
require 'net/http'
url = URI("https://221b-api.sherlocker.com.br/api/v1/empresas/cnpj/{cnpj}/linha-do-tempo?token=")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
response = http.request(request)
puts response.read_body{
"cnpj": "12.345.678/0001-99",
"cobertura": {
"dados_a_partir_de": "2024-01",
"meses_disponiveis": [
"2024-01",
"2024-02",
"2024-03",
"2024-04",
"2024-05"
],
"aviso": "Meses não listados ainda não foram processados; alterações nesses períodos podem não aparecer. Eventos com origem 'estado_inicial' representam o estado no início do monitoramento, não uma alteração."
},
"retornados": 2,
"truncado": false,
"linha_do_tempo": [
{
"data": "2024-05-15",
"data_oficial": true,
"mes_referencia": "2024-05",
"entidade": "empresa",
"estabelecimento": "12.345.678/0001-99",
"tipo": "razao_social_alterada",
"categoria": "cadastro",
"origem": "alteracao",
"titulo": "Razão social alterada",
"descricao": "Razão social alterada de \"Empresa Velha Ltda\" para \"Empresa Nova Ltda\".",
"campo": "razao_social",
"de": {
"descricao": "Empresa Velha Ltda"
},
"para": {
"descricao": "Empresa Nova Ltda"
},
"pessoa": null
},
{
"data": "2024-04-10",
"data_oficial": true,
"mes_referencia": "2024-04",
"entidade": "socio",
"estabelecimento": "12.345.678/0001-99",
"tipo": "socio_entrada",
"categoria": "socios",
"origem": "alteracao",
"titulo": "Entrada de sócio",
"descricao": "João Silva Da Costa entrou como Sócio-Administrador.",
"de": null,
"para": {
"descricao": "João Silva Da Costa"
},
"pessoa": {
"nome": "João Silva Da Costa",
"documento": "123.456.789-10",
"qualificacao": "Sócio-Administrador"
}
}
]
}{
"success": false,
"erro": {
"codigo": "VALIDATION_ERROR",
"mensagem": "CPF invalido"
}
}{
"success": false,
"erro": {
"codigo": "VALIDATION_ERROR",
"mensagem": "CPF invalido"
}
}