---
title: "Calculadora de IOF — Investimentos, Câmbio e Crédito"
method: POST
path: "/api/v1/calc/iof-investimentos-cambio"
tags: ["calc", "impostos"]
---

# Calculadora de IOF — Investimentos, Câmbio e Crédito

`POST /api/v1/calc/iof-investimentos-cambio`

## Request

- Base URL: `https://api.calculas.com.br`
- URL: `https://api.calculas.com.br/api/v1/calc/iof-investimentos-cambio`
- Auth: HTTP bearer

Calcule o IOF sobre resgates de renda fixa (tabela regressiva de 30 dias), operações de câmbio (viagem, cartão, remessas) e operações de crédito pessoal. Descubra quanto você paga de imposto e quando vale a pena esperar mais dias para resgatar.

## Request body

- object
  - `modalidade` 'investimento' | 'cambio' | 'credito', required: Tipo de operação financeira: "investimento" para resgate de renda fixa (CDB, fundo, Tesouro Direto etc.); "cambio" para compra de moeda estrangeira, cartão no exterior ou remessas; "credito" para empréstimo ou financiamento pessoal.
  - `valorAplicadoCents` integer: Valor em centavos. Valor principal aplicado na data da aplicação, antes de qualquer rendimento. Obrigatório quando a modalidade é "investimento". Ex: R$ 10.000 → 1000000.
  - `rendimentoBrutoCents` integer: Valor em centavos. Rendimento bruto auferido sobre o principal até a data do resgate, antes de descontar IOF e IR. Obrigatório quando a modalidade é "investimento". Ex: R$ 150 → 15000.
  - `prazoResgateDias` integer: Número de dias corridos entre a data da aplicação e a data do resgate. Determina a alíquota de IOF pela tabela regressiva (96% no dia 1, zero a partir do dia 30). Obrigatório quando a modalidade é "investimento". Ex: 15 dias.
  - `valorCambioReaisCents` integer: Valor em centavos. Total da operação de câmbio convertido para reais. Obrigatório quando a modalidade é "cambio". Ex: R$ 5.000 → 500000.
  - `tipoOperacaoCambio` 'compra_especie_viagem' | 'cartao_credito_exterior' | 'cartao_debito_exterior' | 'remessa_exterior' | 'recebimento_exterior' | 'educacao_saude': Tipo de operação de câmbio, que define a alíquota de IOF aplicável: "compra_especie_viagem" — compra de moeda estrangeira em espécie para viagem (1,1%); "cartao_credito_exterior" — compra com cartão de crédito no exterior (3,38%); "cartao_debito_exterior" — compra com cartão de débito no exterior (1,1%); "remessa_exterior" — transferência para conta no exterior (0,38%); "recebimento_exterior" — recebimento de valores do exterior (0,38%); "educacao_saude" — pagamento de despesas de educação ou saúde no exterior (0%). Obrigatório quando a modalidade é "cambio".
  - `valorCreditoCents` integer: Valor em centavos. Valor total do empréstimo ou financiamento contratado. Obrigatório quando a modalidade é "credito". Ex: R$ 20.000 → 2000000.
  - `prazoCreditoDias` integer: Número de dias de vigência do contrato de crédito. Usado para calcular o IOF diário (0,0082% ao dia para pessoa física; 0,0041% ao dia para pessoa jurídica), limitado a 365 dias. Obrigatório quando a modalidade é "credito".
  - `pessoaTipo` 'pf' | 'pj': Tipo de pessoa do contratante: "pf" para pessoa física (IOF diário de 0,0082% ao dia no crédito); "pj" para pessoa jurídica (IOF diário de 0,0041% ao dia). Padrão: "pf".
  - `currentDate` string, date-time: ISO-8601 com offset. Default: tempo do servidor. Use pra reprodutibilidade / cache semantico.

## Response `200`

OK

- object
  - `ok` true, required
  - `data` object, required: Resultado dependente da calc — ver schema individual
  - `meta` object

## Other responses

- `422`: Input invalido (Zod parse falhou)
- `500`: Engine error

---

[API](https://skmtc.dev/calculas/apis/contai-api.md) · [All operations](https://skmtc.dev/calculas/apis/contai-api/llms.txt) · [OpenAPI document](https://skmtc.dev/calculas/apis/contai-api/revisions/26a00749292b?raw)
