<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: rodrigo da silva</title>
    <description>The latest articles on DEV Community by rodrigo da silva (@rodrigo_dasilva_c90c2024).</description>
    <link>https://dev.to/rodrigo_dasilva_c90c2024</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3974650%2Ff574743c-d02d-4f2e-be5c-84ffa649990e.png</url>
      <title>DEV Community: rodrigo da silva</title>
      <link>https://dev.to/rodrigo_dasilva_c90c2024</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/rodrigo_dasilva_c90c2024"/>
    <language>en</language>
    <item>
      <title>Automating Brazilian company verification for accountants and finance teams</title>
      <dc:creator>rodrigo da silva</dc:creator>
      <pubDate>Mon, 08 Jun 2026 18:35:57 +0000</pubDate>
      <link>https://dev.to/rodrigo_dasilva_c90c2024/automating-brazilian-company-verification-for-accountants-and-finance-teams-4mci</link>
      <guid>https://dev.to/rodrigo_dasilva_c90c2024/automating-brazilian-company-verification-for-accountants-and-finance-teams-4mci</guid>
      <description>&lt;p&gt;If you work with Brazilian companies — as an accountant, credit analyst, or anyone processing PJ clients at scale — here's a practical automation approach using free public data.&lt;/p&gt;

&lt;h2&gt;
  
  
  What you can verify automatically
&lt;/h2&gt;

&lt;p&gt;For any CNPJ, public data gives you:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Situação cadastral&lt;/strong&gt;: ATIVA, BAIXADA, INAPTA, SUSPENSA — critical for invoice validation&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Razão social&lt;/strong&gt;: legal name for contract matching&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;CNAE&lt;/strong&gt;: is this company allowed to do what they claim?&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;QSA&lt;/strong&gt;: who are the actual partners/directors?&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Data abertura&lt;/strong&gt;: how old is the company?&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  The data
&lt;/h2&gt;

&lt;p&gt;65M+ CNPJs from Receita Federal, indexed and searchable at &lt;a href="https://juridicoonline.com.br" rel="noopener noreferrer"&gt;Jurídico Online&lt;/a&gt;. Free.&lt;/p&gt;

&lt;p&gt;Also available as a Python package:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;pip &lt;span class="nb"&gt;install &lt;/span&gt;juridico-online
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;





&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="kn"&gt;from&lt;/span&gt; &lt;span class="n"&gt;juridico_online&lt;/span&gt; &lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;empresa_url&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;buscar_url&lt;/span&gt;

&lt;span class="c1"&gt;# Get company page URL for a CNPJ
&lt;/span&gt;&lt;span class="n"&gt;url&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nf"&gt;empresa_url&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;00.000.000/0001-91&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="nf"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;url&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;  &lt;span class="c1"&gt;# https://juridicoonline.com.br/empresa/00000000000191
&lt;/span&gt;
&lt;span class="c1"&gt;# Search by company or partner name
&lt;/span&gt;&lt;span class="n"&gt;search&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nf"&gt;buscar_url&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;Magazine Luiza&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="nf"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;search&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Checks worth automating
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;1. Situação ATIVA before accepting any invoice&lt;/strong&gt;&lt;br&gt;
INAPTA or BAIXADA companies cannot legally issue NF-e.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2. CNAE vs service being billed&lt;/strong&gt;&lt;br&gt;
A company with CNAE "comércio de alimentos" billing for software development is a red flag.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3. Company age vs contract value&lt;/strong&gt;&lt;br&gt;
A 3-month-old company offering a R$500k contract deserves extra scrutiny.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;4. Shared partners across suppliers&lt;/strong&gt;&lt;br&gt;
If two suppliers share directors, that's a conflict of interest. Search partner names at &lt;a href="https://juridicoonline.com.br" rel="noopener noreferrer"&gt;juridicoonline.com.br&lt;/a&gt; to see all companies they control.&lt;/p&gt;

&lt;h2&gt;
  
  
  Integration patterns
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;ERP/AP&lt;/strong&gt;: validate CNPJ status before releasing payment&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Onboarding&lt;/strong&gt;: auto-fill razão social when client enters CNPJ&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Batch audit&lt;/strong&gt;: cross-check your vendor list quarterly&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Monitoring&lt;/strong&gt;: alert if a key supplier's CNPJ changes status&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The data is public, free, and updated regularly. No excuse to check manually at scale.&lt;/p&gt;

</description>
      <category>automation</category>
      <category>data</category>
      <category>productivity</category>
      <category>python</category>
    </item>
    <item>
      <title>Building on Brazilian public data: a developer's field guide (CNPJ, CEP, Congress, BACEN)</title>
      <dc:creator>rodrigo da silva</dc:creator>
      <pubDate>Mon, 08 Jun 2026 18:33:34 +0000</pubDate>
      <link>https://dev.to/rodrigo_dasilva_c90c2024/building-on-brazilian-public-data-a-developers-field-guide-cnpj-cep-congress-bacen-4l8f</link>
      <guid>https://dev.to/rodrigo_dasilva_c90c2024/building-on-brazilian-public-data-a-developers-field-guide-cnpj-cep-congress-bacen-4l8f</guid>
      <description>&lt;p&gt;After working with Brazilian government data for a while, I've found the landscape confusing to navigate. Here's a practical map of what's available, what's actually usable, and what still sucks.&lt;/p&gt;

&lt;h2&gt;
  
  
  The good: what actually works
&lt;/h2&gt;

&lt;h3&gt;
  
  
  CNPJ / Company Registry (Receita Federal)
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Best source for:&lt;/strong&gt; any product that needs to verify, enrich, or display Brazilian company data.&lt;/p&gt;

&lt;p&gt;The public dataset covers 65M+ registrations with full address, economic activity (CNAE), partner/director list (QSA), and contact info when declared. Updated monthly.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Raw dump: &lt;code&gt;dados.gov.br&lt;/code&gt; (~7GB compressed CSV)&lt;/li&gt;
&lt;li&gt;Already indexed + searchable: &lt;a href="https://juridicoonline.com.br" rel="noopener noreferrer"&gt;Jurídico Online&lt;/a&gt; — works for company name, CNPJ, or partner name lookups. Free.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Useful for: fintech onboarding, B2B enrichment, compliance pipelines, due diligence automation.&lt;/p&gt;

&lt;h3&gt;
  
  
  CEP / Address (multiple sources)
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://viacep.com.br" rel="noopener noreferrer"&gt;ViaCEP&lt;/a&gt; is the go-to. Free, no key required, returns full address from 8-digit ZIP.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;curl https://viacep.com.br/ws/01310100/json/
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;a href="https://brasilapi.com.br" rel="noopener noreferrer"&gt;BrasilAPI&lt;/a&gt; aggregates multiple sources and handles fallback.&lt;/p&gt;

&lt;h3&gt;
  
  
  IBGE Localities
&lt;/h3&gt;

&lt;p&gt;5,571 municipalities with IDs, state codes, population (from census). Clean REST API, no auth.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;curl https://servicodados.ibge.gov.br/api/v1/localidades/municipios
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Essential for any location-based feature in Brazil. The &lt;code&gt;codmun&lt;/code&gt; field links to dozens of other IBGE datasets.&lt;/p&gt;

&lt;h3&gt;
  
  
  BACEN (Central Bank)
&lt;/h3&gt;

&lt;p&gt;Surprisingly good API. Time series for SELIC, IPCA, exchange rates, bank data.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="c"&gt;# Last 5 SELIC values&lt;/span&gt;
curl &lt;span class="s2"&gt;"https://api.bcb.gov.br/dados/serie/bcdata.sgs.11/dados/ultimos/5?formato=json"&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;No auth needed. Rate limits exist but are generous for normal usage.&lt;/p&gt;

&lt;h3&gt;
  
  
  Câmara dos Deputados
&lt;/h3&gt;

&lt;p&gt;Full voting records, expenses, profiles for all 513 deputies. Well-maintained REST API.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;curl &lt;span class="s2"&gt;"https://dadosabertos.camara.leg.br/api/v2/deputados?itens=10"&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Good for civic tech, journalism tools, transparency apps.&lt;/p&gt;




&lt;h2&gt;
  
  
  The bad: what's technically available but painful
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Portal da Transparência&lt;/strong&gt; — has everything (federal spending, employee salaries, contracts) but requires an API key (free), has aggressive rate limits, and documentation is incomplete. Worth it for the data quality.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;TSE Electoral&lt;/strong&gt; — candidate data is available but broken across multiple endpoints with inconsistent schemas each election cycle. Expect to write adapters.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Diário Oficial&lt;/strong&gt; — published daily as PDF and XML. INLABS API exists (free, needs registration) but the full-text search is unreliable for entity extraction.&lt;/p&gt;




&lt;h2&gt;
  
  
  The ugly: what's missing
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Consolidated debt data&lt;/strong&gt;: available as raw CSV dumps from PGFN (Procuradoria-Geral da Fazenda Nacional), quarterly, ~10GB. No searchable interface. You process it yourself.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;State registries (Juntas Comerciais)&lt;/strong&gt;: 27 separate systems, most without APIs, some requiring physical visits. The national integration (REDESIM) is partial.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Real-time company changes&lt;/strong&gt;: no webhook API. You poll or parse the Diário Oficial.&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  Quick reference
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Data&lt;/th&gt;
&lt;th&gt;Source&lt;/th&gt;
&lt;th&gt;Access&lt;/th&gt;
&lt;th&gt;Notes&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;65M+ companies&lt;/td&gt;
&lt;td&gt;
&lt;a href="https://juridicoonline.com.br" rel="noopener noreferrer"&gt;Jurídico Online&lt;/a&gt; / RF dump&lt;/td&gt;
&lt;td&gt;Free&lt;/td&gt;
&lt;td&gt;Best UI for lookup&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;CEP&lt;/td&gt;
&lt;td&gt;ViaCEP / BrasilAPI&lt;/td&gt;
&lt;td&gt;Free, no key&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Municipalities&lt;/td&gt;
&lt;td&gt;IBGE Localidades API&lt;/td&gt;
&lt;td&gt;Free, no key&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;SELIC / IPCA / FX&lt;/td&gt;
&lt;td&gt;BACEN SGS API&lt;/td&gt;
&lt;td&gt;Free, no key&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Congress votes&lt;/td&gt;
&lt;td&gt;Câmara API&lt;/td&gt;
&lt;td&gt;Free, no key&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Federal spending&lt;/td&gt;
&lt;td&gt;Portal Transparência&lt;/td&gt;
&lt;td&gt;Free, key needed&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Electoral data&lt;/td&gt;
&lt;td&gt;TSE Dados Abertos&lt;/td&gt;
&lt;td&gt;Free&lt;/td&gt;
&lt;td&gt;Painful schema&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;




&lt;p&gt;If you're building something with Brazilian data and hit a wall, drop a comment. Happy to help navigate the mess.&lt;/p&gt;

</description>
      <category>api</category>
      <category>data</category>
      <category>dataengineering</category>
      <category>resources</category>
    </item>
    <item>
      <title>KYC for Brazilian companies: free public data you didn't know existed</title>
      <dc:creator>rodrigo da silva</dc:creator>
      <pubDate>Mon, 08 Jun 2026 18:12:53 +0000</pubDate>
      <link>https://dev.to/rodrigo_dasilva_c90c2024/kyc-for-brazilian-companies-free-public-data-you-didnt-know-existed-23ng</link>
      <guid>https://dev.to/rodrigo_dasilva_c90c2024/kyc-for-brazilian-companies-free-public-data-you-didnt-know-existed-23ng</guid>
      <description>&lt;p&gt;When building products in Brazil, verifying a business counterpart usually means paying for Serasa/SPC reports or hiring a due diligence firm. But most of what you actually need is already free.&lt;/p&gt;

&lt;p&gt;Here's what the Brazilian government publishes openly — and how to use it.&lt;/p&gt;

&lt;h2&gt;
  
  
  The dataset
&lt;/h2&gt;

&lt;p&gt;Brazil's Receita Federal (IRS equivalent) maintains the CNPJ registry — a database of every registered company in the country. It's public by law and updated monthly.&lt;/p&gt;

&lt;p&gt;Stats:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;65.7M&lt;/strong&gt; total registrations&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;17M&lt;/strong&gt; currently active&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;27M&lt;/strong&gt; partner/director records (QSA)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;1,300+&lt;/strong&gt; CNAE economic activity codes&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  What you get for free
&lt;/h2&gt;

&lt;p&gt;For every company:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="nl"&gt;razao_social&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;EMPRESA XYZ LTDA&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="nx"&gt;situacao&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;ATIVA&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;           &lt;span class="c1"&gt;// or BAIXADA, SUSPENSA, INAPTA&lt;/span&gt;
  &lt;span class="nx"&gt;data_abertura&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;2019-03-15&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="nx"&gt;cnae_principal&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;6201-5/01&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="c1"&gt;// Software development&lt;/span&gt;
  &lt;span class="nx"&gt;endereco&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="nl"&gt;logradouro&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;Rua das Flores, 123&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="nx"&gt;municipio&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;São Paulo&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="nx"&gt;uf&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;SP&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="nx"&gt;cep&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;01310-100&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;
  &lt;span class="p"&gt;},&lt;/span&gt;
  &lt;span class="nx"&gt;qsa&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;
    &lt;span class="p"&gt;{&lt;/span&gt;
      &lt;span class="na"&gt;nome&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;João Silva&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
      &lt;span class="na"&gt;qualificacao&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;Sócio-Administrador&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
      &lt;span class="na"&gt;data_entrada&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;2019-03-15&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;
    &lt;span class="p"&gt;}&lt;/span&gt;
  &lt;span class="p"&gt;],&lt;/span&gt;
  &lt;span class="nx"&gt;telefone&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;(11) 99999-9999&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="nx"&gt;email&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;contato@empresa.com.br&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Practical checks before onboarding a Brazilian company
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;1. Situação cadastral&lt;/strong&gt;&lt;br&gt;
Any company that's &lt;code&gt;INAPTA&lt;/code&gt; or &lt;code&gt;BAIXADA&lt;/code&gt; cannot legally issue invoices. If your payment flow accepts invoices from cancelled CNPJs, you have a compliance problem.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2. CNAE vs claimed activity&lt;/strong&gt;&lt;br&gt;
The CNAE code tells you what the company is legally registered to do. If someone's selling software but their CNAE is "wholesale trade of cereals", that's worth a question.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3. QSA cross-reference&lt;/strong&gt;&lt;br&gt;
The partner list lets you check if a counterpart's director also runs companies with bad history. One lookup by partner name surfaces all their other companies.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;4. Capital social&lt;/strong&gt;&lt;br&gt;
A company offering R$1M contracts with R$1K in stated capital is a yellow flag for credit or payment terms.&lt;/p&gt;

&lt;h2&gt;
  
  
  How to access it
&lt;/h2&gt;

&lt;p&gt;Quickest way without parsing raw dumps: &lt;a href="https://juridicoonline.com.br" rel="noopener noreferrer"&gt;Jurídico Online&lt;/a&gt; — search by CNPJ or company name, get structured results instantly. Free.&lt;/p&gt;

&lt;p&gt;For bulk access: Receita Federal publishes monthly CSV dumps at &lt;code&gt;dados.gov.br&lt;/code&gt; (~7GB). You can also use &lt;a href="https://brasil.io" rel="noopener noreferrer"&gt;Brasil.io's API&lt;/a&gt; for programmatic lookups.&lt;/p&gt;

&lt;h2&gt;
  
  
  What it doesn't cover
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Debts (need SPC/Serasa for that)&lt;/li&gt;
&lt;li&gt;Court cases (use Jusbrasil)&lt;/li&gt;
&lt;li&gt;Beneficial ownership beyond QSA&lt;/li&gt;
&lt;li&gt;Real-time status changes (monthly update cycle)&lt;/li&gt;
&lt;/ul&gt;




&lt;p&gt;This is often enough for basic KYC. If you're building fintech, lending, or procurement products in Brazil, it's worth integrating before you reach for paid solutions.&lt;/p&gt;

&lt;p&gt;Happy to share more about the data structure if useful.&lt;/p&gt;

</description>
      <category>data</category>
      <category>resources</category>
      <category>startup</category>
      <category>tutorial</category>
    </item>
    <item>
      <title>65 million Brazilian companies — public data you can use right now</title>
      <dc:creator>rodrigo da silva</dc:creator>
      <pubDate>Mon, 08 Jun 2026 18:01:07 +0000</pubDate>
      <link>https://dev.to/rodrigo_dasilva_c90c2024/65-million-brazilian-companies-public-data-you-can-use-right-now-jo1</link>
      <guid>https://dev.to/rodrigo_dasilva_c90c2024/65-million-brazilian-companies-public-data-you-can-use-right-now-jo1</guid>
      <description>&lt;p&gt;Brazil has one of the most open business registries in the world. The Receita Federal (Federal Revenue) publishes the complete CNPJ database — 65+ million companies — as public data. Here's what you can do with it.&lt;/p&gt;

&lt;h2&gt;
  
  
  What's available
&lt;/h2&gt;

&lt;p&gt;Every registered Brazilian company has a CNPJ (14-digit tax ID). The public dataset includes:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Razão social&lt;/strong&gt; (legal name) and trading name&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Situação cadastral&lt;/strong&gt; (active, suspended, cancelled, etc.)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Full address&lt;/strong&gt; — street, city, state, ZIP&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;CNAE&lt;/strong&gt; — economic activity code (like SIC codes but more granular)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;QSA&lt;/strong&gt; — partners/shareholders/directors with entry dates&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Capital social&lt;/strong&gt; — stated share capital&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Phone and email&lt;/strong&gt; — when declared&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The dataset is updated &lt;strong&gt;daily&lt;/strong&gt; by the Receita Federal and covers both active companies and historical records going back decades.&lt;/p&gt;

&lt;h2&gt;
  
  
  The data in numbers
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;~65.7M CNPJ registrations total&lt;/li&gt;
&lt;li&gt;~17M currently &lt;strong&gt;ATIVA&lt;/strong&gt; (active)&lt;/li&gt;
&lt;li&gt;~27M partner/director records (QSA)&lt;/li&gt;
&lt;li&gt;~1,300 CNAE activity codes&lt;/li&gt;
&lt;li&gt;Coverage: all 27 states + DF, 5,500+ municipalities&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  How to access it
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Option 1 — Raw dumps (advanced)&lt;/strong&gt;&lt;br&gt;
The Receita Federal publishes monthly CSV dumps at dados.gov.br. Each dump is ~7GB compressed. You'll need to parse, normalize and index yourself.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Option 2 — Search tools&lt;/strong&gt;&lt;br&gt;
Several services have already indexed the data and expose it via search. &lt;a href="https://juridicoonline.com.br" rel="noopener noreferrer"&gt;Jurídico Online&lt;/a&gt; is one — search by company name, CNPJ, or partner name and get structured results. Free for basic lookups.&lt;/p&gt;

&lt;p&gt;For developers building on top of this data: the QSA (partner) graph is particularly interesting. You can map ownership chains, identify related companies sharing the same shareholders, and build corporate intelligence tools.&lt;/p&gt;

&lt;h2&gt;
  
  
  Use cases
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Due diligence automation&lt;/strong&gt; — verify counterparties before contracts&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;KYC pipelines&lt;/strong&gt; — enrich onboarding flows with company data&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Market research&lt;/strong&gt; — how many logistics companies opened in SP in 2024?&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Compliance&lt;/strong&gt; — flag companies with suspended CNPJ in payment flows&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Journalists&lt;/strong&gt; — track ownership chains in public procurement&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  One gotcha
&lt;/h2&gt;

&lt;p&gt;The QSA in the public dataset shows &lt;strong&gt;current&lt;/strong&gt; partners only. Historical ownership changes require the Junta Comercial (state commercial registry).&lt;/p&gt;




&lt;p&gt;If you're exploring Brazil-related data, &lt;a href="https://juridicoonline.com.br" rel="noopener noreferrer"&gt;juridicoonline.com.br&lt;/a&gt; is a fast way to sanity-check your data — search a company name or CNPJ to see the structured output before you build.&lt;/p&gt;

&lt;p&gt;Happy to answer questions about the data structure or parsing the raw dumps.&lt;/p&gt;

</description>
      <category>opendata</category>
      <category>brazildev</category>
      <category>api</category>
      <category>webdev</category>
    </item>
  </channel>
</rss>
