curl --request POST \
--url https://api.croma.run/br/pgfn/debts-search/v1 \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"query": "construtora",
"in_court": "yes",
"per_page": 10
}
'import requests
url = "https://api.croma.run/br/pgfn/debts-search/v1"
payload = {
"query": "construtora",
"in_court": "yes",
"per_page": 10
}
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: 'construtora', in_court: 'yes', per_page: 10})
};
fetch('https://api.croma.run/br/pgfn/debts-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/br/pgfn/debts-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' => 'construtora',
'in_court' => 'yes',
'per_page' => 10
]),
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/br/pgfn/debts-search/v1"
payload := strings.NewReader("{\n \"query\": \"construtora\",\n \"in_court\": \"yes\",\n \"per_page\": 10\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/br/pgfn/debts-search/v1")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"query\": \"construtora\",\n \"in_court\": \"yes\",\n \"per_page\": 10\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.croma.run/br/pgfn/debts-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\": \"construtora\",\n \"in_court\": \"yes\",\n \"per_page\": 10\n}"
response = http.request(request)
puts response.read_body{
"data": {
"as_of": "<string>",
"query": "<string>",
"document_number": "<string>",
"regime": "<string>",
"state": "<string>",
"status_type": "<string>",
"debtor_type": "<string>",
"in_court": "<string>",
"total": 123,
"page": 123,
"per_page": 123,
"total_pages": 123,
"count": 123,
"debts": [
{
"id": "<string>",
"regime": "nao_previdenciario",
"inscription_number": "<string>",
"document_number": "<string>",
"document": "<string>",
"cnpj_root": "<string>",
"debtor_name": "<string>",
"debtor_type": "principal",
"state": "<string>",
"responsible_unit": "<string>",
"registering_unit": "<string>",
"collecting_entity": "pgfn",
"status_type": "in_collection",
"status": "<string>",
"revenue_type": "<string>",
"registered_on": "<string>",
"in_court": true,
"amount": 123,
"reference_month": "<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": {}
}
}PGFN Debts Search
Search the active debts Brazilian companies owe the Union in the dívida ativa (Procuradoria-Geral da Fazenda Nacional): federal taxes, social security contributions and the FGTS, by company name, CNPJ or its 8-character root, regime, state, status, the company’s role in the debt, whether it is in court, and an amount range. Largest amount first, pages of up to 50. Companies only. Served by Croma (as_of says how current the data is), refreshed with each quarterly release.
Dataset endpoint: answers from the whole source in milliseconds and carries as_of.
curl --request POST \
--url https://api.croma.run/br/pgfn/debts-search/v1 \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"query": "construtora",
"in_court": "yes",
"per_page": 10
}
'import requests
url = "https://api.croma.run/br/pgfn/debts-search/v1"
payload = {
"query": "construtora",
"in_court": "yes",
"per_page": 10
}
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: 'construtora', in_court: 'yes', per_page: 10})
};
fetch('https://api.croma.run/br/pgfn/debts-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/br/pgfn/debts-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' => 'construtora',
'in_court' => 'yes',
'per_page' => 10
]),
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/br/pgfn/debts-search/v1"
payload := strings.NewReader("{\n \"query\": \"construtora\",\n \"in_court\": \"yes\",\n \"per_page\": 10\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/br/pgfn/debts-search/v1")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"query\": \"construtora\",\n \"in_court\": \"yes\",\n \"per_page\": 10\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.croma.run/br/pgfn/debts-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\": \"construtora\",\n \"in_court\": \"yes\",\n \"per_page\": 10\n}"
response = http.request(request)
puts response.read_body{
"data": {
"as_of": "<string>",
"query": "<string>",
"document_number": "<string>",
"regime": "<string>",
"state": "<string>",
"status_type": "<string>",
"debtor_type": "<string>",
"in_court": "<string>",
"total": 123,
"page": 123,
"per_page": 123,
"total_pages": 123,
"count": 123,
"debts": [
{
"id": "<string>",
"regime": "nao_previdenciario",
"inscription_number": "<string>",
"document_number": "<string>",
"document": "<string>",
"cnpj_root": "<string>",
"debtor_name": "<string>",
"debtor_type": "principal",
"state": "<string>",
"responsible_unit": "<string>",
"registering_unit": "<string>",
"collecting_entity": "pgfn",
"status_type": "in_collection",
"status": "<string>",
"revenue_type": "<string>",
"registered_on": "<string>",
"in_court": true,
"amount": 123,
"reference_month": "<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
Palabras a buscar en los nombres (opcional).
200CNPJ de la empresa deudora, con o sin puntuación, p. ej. 12.345.678/0001-90, o su raíz de 8 caracteres para todos sus establecimientos (opcional).
^(?:[A-Za-z0-9]{8}|[A-Za-z0-9]{12}\d{2}|[A-Za-z0-9]{2}\.[A-Za-z0-9]{3}\.[A-Za-z0-9]{3}(?:\/[A-Za-z0-9]{4}-\d{2})?)?$Tipo de deuda: nao_previdenciario (tributos y demás), previdenciario (contribuciones a la seguridad social) o fgts (opcional).
, nao_previdenciario, previdenciario, fgts Sigla del estado (UF) de la empresa deudora, p. ej. SP (opcional).
^(?:[A-Za-z]{2})?$Situación: in_collection (en cobro), tax_benefit (beneficio fiscal), guaranteed (garantizada), suspended_by_court (suspendida por decisión judicial), in_negotiation (en negociación) (opcional).
, in_collection, tax_benefit, guaranteed, suspended_by_court, in_negotiation Papel de la empresa en la deuda: principal, co_responsible (corresponsable) o joint (solidaria) (opcional).
, principal, co_responsible, joint yes solo deudas en ejecución judicial, no solo las que no, any ambas.
any, yes, no Monto mínimo de la deuda en reales (opcional).
x >= 0Monto máximo de la deuda en reales; 0 sin límite (opcional).
x >= 01-based page number for paginated results.
1 <= x <= 1000Resultados por página (1-50).
1 <= x <= 50Response
Successful response
Show child attributes
Show child attributes