Test the Brazil CVM Filings API in Postman

Before you write a client, validate the Postman CVM filings API flow: auth, resolve, list, download. apicvm works with any HTTP client — Postman, Insomnia, or Bruno.

Environment variables

Create an environment with:

Variable Example
APICVM_URL https://apicvm.dev
APICVM_KEY apicvm_... from /signup

Do not commit the key into a shared collection JSON.

Authorization

On the collection (or each request):

  • Type: Bearer Token
  • Token: {{APICVM_KEY}}

Equivalent header: Authorization: Bearer {{APICVM_KEY}}. You can also use X-API-Key.

Request 1 — Health (no auth)

GET {{APICVM_URL}}/v1/health-check

Expected: { "status": "ok" }.

Request 2 — Resolve PETR4

GET {{APICVM_URL}}/v1/companies/resolve

Query params:

Key Value
query PETR4
by ticker

Save cnpj or id from the response if you need them later.

Request 3 — List DFP 2024

GET {{APICVM_URL}}/v1/documents

Key Value
ticker PETR4
type DFP
year 2024
perPage 20

Copy a data[0].id into an environment variable DOC_ID.

Request 4 — Download PDF

GET {{APICVM_URL}}/v1/documents/{{DOC_ID}}/file

In Postman: Send and Download. Downloads do not consume extraction credits.

Optional — Demo without a key

For a quick smoke test of VALE3 only, use /v1/demo/* routes (allowlisted scope). See Try the apicvm demo API.

Common errors

Status Meaning
401 Missing/invalid key
404 Document not in corpus
429 Rate limit — check X-RateLimit-*

Details: Handle errors and rate limits.

Collection structure tip

Group requests under folders: public, companies, documents. Put Bearer auth at the collection level so new requests inherit it. Add a Postman test script on list-documents to set DOC_ID:

const json = pm.response.json();
if (json.data && json.data.length) {
  pm.environment.set("DOC_ID", json.data[0].id);
}

Filter FRE by name

Add a fifth request cloning list-documents with:

Key Value
type FRE
name FatoresRisco

This mirrors production agent workflows that avoid downloading an entire FRE ZIP.

Export for teammates

Export the collection without the environment that holds APICVM_KEY. Share a .postman_environment.example with empty key fields. New hires get a key from /signup.

Current limitations

  • There is no official Postman collection published by apicvm — build these four requests once and reuse.
  • Async extraction needs a public callback_url; Postman alone cannot receive production webhooks easily.

Next steps

Ready to integrate?

Get an API key and start querying Brazilian CVM filings programmatically.