Run the CNPJ API inside your own infrastructure.
For companies that need data sovereignty, network isolation, or predictable high-volume pricing. We deliver a container ready to run on your Docker or Kubernetes, with a monthly sync of the Brazilian Federal Revenue data.
When it makes sense to self-host.
Our cloud API handles most cases well. On-premise is for when you need full control.
Sovereignty & LGPD
Data and logs stay inside your infrastructure. No request ever leaves for third-party servers.
Network isolation
Works in air-gapped environments, private VPCs, and segmented networks. Updates can be pulled or delivered manually.
Predictable cost at scale
No per-call fees. Ideal for high-volume internal integrations β batch enrichment, KYC, CRM hydration.
Minimum latency
Queries run inside your datacenter or cluster. No public-internet round-trip.
Everything you need to run in production.
Ready-to-run container
Signed OCI image with the full API service. Compatible with Docker, Podman, and any OCI-compliant orchestrator.
Monthly data refresh
Complete snapshot of the Federal Revenue dataset delivered to your S3-compatible bucket. Scheduled or manual sync.
API compatibility
Same endpoints and response formats as the cloud service β including ReceitaWS and CNPJa compatibility modes. No code changes.
Onboarding & support
Deployment session with our team, complete technical documentation, and a dedicated support channel.
Two paths to production. Pick yours.
Docker Compose
Ideal for proofs of concept, staging environments, or single-host operation. docker compose up and the API is live.
Kubernetes
Helm chart available on request. HPA, readiness probes, and config via ConfigMap/Secret. Production-ready out of the box.
Air-gapped mode available β image and snapshot delivered via offline media.
What you need to have ready.
- Linux host (x86_64 or arm64) with an OCI runtime (Docker, containerd, or equivalent)
- S3-compatible bucket for the monthly data snapshot (AWS S3, MinIO, Ceph, GCS, R2 β any works)
- Outbound HTTPS for update pulls (or manual delivery in air-gap mode)
- TLS terminated at your ingress or load balancer
- CPU and memory sized to your volume β we confirm sizing during onboarding
Up-to-date dataset, no babysitting.
The Brazilian Federal Revenue releases a full CNPJ database refresh monthly. We process, index, and publish the snapshot to your S3-compatible bucket.
Scheduled job
A cron inside your cluster or host checks the bucket and pulls the latest snapshot once a month.
Manual trigger
An admin endpoint forces an immediate sync β useful for environments that need full control over the update window.
Easy rollback
Previous snapshots stay available. If something goes wrong, revert to the prior version in minutes.
Built for teams that take compliance seriously.
Frequently asked questions
How long does it take to go live?
Typically 1 to 2 weeks from the first conversation to production. Docker Compose can run the same day; Kubernetes with full integration into your stack usually takes a sprint.
Does it work in air-gapped environments?
Yes. We deliver the image and initial snapshot via offline media, and subsequent updates can be transferred manually into your internal S3 bucket.
How often is the data refreshed?
The Federal Revenue publishes monthly updates, and we make the processed snapshot available within 48h of the official release. Inside your environment, you decide when to apply it.
Is there an SLA?
Yes β a dedicated SLA defined in the contract, covering incident response time, update availability, and support windows.
Does the API support the alphanumeric CNPJ?
Yes. The alphanumeric format (effective July 2026) is supported natively. No code migration required.
What about data licensing?
The underlying Federal Revenue data is public and free to use. The license agreement covers the software, the processed updates, and support.
Let's talk.
Tell us about your use case. We get back within 1 business day with next steps and a proposal.
Ready to bring the API inside?
No endless forms, no sales script. A 20-minute conversation is enough to decide if it's a fit.
Talk to sales