# SCR — Sistema de Informação de Crédito

O **SCR** (_Sistema de Informações de Crédito_) é o registro oficial do Banco Central do Brasil de operações de crédito. Cada instituição financeira do país reporta a ele: empréstimos, financiamentos, limites, garantias e co-obrigacões acima de R$200. É a própria fonte, não uma pontuação inferida a partir dela.

Pluggy expõe o SCR por trás de um item conectado de Open Finance. O item fornece o CPF ou CNPJ e serve como evidência do consentimento do titular da conta.

<Callout variant="info" title="Disponível sob solicitação">
  O SCR está disponível sob solicitação. Fale conosco para habilitá-lo em sua
  assinatura — sem isso, o endpoint retorna `SCR_FEATURE_NOT_ENABLED`.
</Callout>

<Callout variant="warning" title="O consentimento é sua responsabilidade">
  Qualquer consulta ao SCR depende da autorização prévia do titular das operações
  de crédito. Sua instituição é responsável por solicitar essa autorização e
  por atender aos pré-requisitos de consulta, mensagens de esclarecimento e ao
  registro e armazenamento de autorizações estabelecidas na regulamentação atual — veja
  [Resolução CMN n°
  5.037](https://www.bcb.gov.br/estabilidadefinanceira/exibenormativo?tipo=RESOLU%C3%87%C3%83O%20CMN&numero=5037).
</Callout>

## Requisitos

Antes da primeira chamada:

1. O **recurso SCR** habilitado em sua assinatura.
2. Um item conectado de **Open Finance**. Conectores diretos não são elegíveis.
3. O **CPF ou CNPJ** desse item conhecido por nós — é o que consultamos no Bacen.

Um item que falhar em qualquer um dos últimos dois retorna `SCR_ITEM_NOT_SUPPORTED`.

## Consulte o SCR

```
GET /items/{id}/scr
```

| Parâmetro | Em    | Descrição                                       |
| --------- | ----- | ------------------------------------------------- |
| `id`      | path  | O item cujo titular da conta você deseja consultar |
| `from`    | query | Primeira data-base, no formato `YYYYMM`. Opcional            |
| `to`      | query | Última data-base, no formato `YYYYMM`. Opcional             |

```bash
curl --request GET \
  --url 'https://api.pluggy.ai/items/d0e8448e-0156-4b4a-ae6c-3e2a6d9bff5c/scr?from=202604&to=202607' \
  --header 'X-API-KEY: YOUR_API_KEY'
```

Detalhes completos sobre parâmetros e esquema estão na [referência da API](/reference/scr/items-retrieve-scr).

## Datas-base são meses, e elas têm atraso

O SCR não funciona em dias. O Bacen consolida uma **data-base** (_data-base_) por mês, e cada uma só se torna completa alguns meses depois — as instituições ainda estão entregando seus relatórios nesse meio tempo.

Duas consequências que vale a pena considerar:

- **Solicitar o mês atual não retorna nada.** O Bacen ainda não o fechou.
- **Quando você omite `from` e `to`**, Pluggy consulta as últimas 4 datas-base, terminando 2 meses atrás a partir de hoje. Em setembro de 2026, isso é de `202604` a `202607`.

Se você enviar apenas um limite, a janela se ancla nele: `?to=202501` retorna de `202410` a `202501`.

Cada data-base carrega `docProc` e `volProc` — a porcentagem de documentos esperados e volume já incorporados. Uma data-base recente com baixa cobertura é uma imagem parcial, não uma vazia.

## Resposta

A resposta é o próprio payload do Bacen, encaminhado sem alterações. Nomes de campos, códigos e estrutura são do SCR, então um valor que você lê aqui é o mesmo valor que uma instituição lê na fonte.

```json
{
  "dtbConsult": "202604 a 202607",
  "cdCli": "11222333",
  "tpCli": "2",
  "lsDtb": [
    {
      "dtb": 202607,
      "docProc": "99.8",
      "volProc": "99.9",
      "qtdIfs": 4,
      "qtdCongFinc": 3,
      "dtbIniRel": "201803",
      "coobAss": 0,
      "coobRec": 0,
      "lsOp": [
        {
          "mod": "0203",
          "oriRec": "0101",
          "indx": "01",
          "varCamb": "00",
          "resVenc": { "v20": 12500.0, "v40": 12500.0, "v110": 37500.0 },
          "lsGar": [{ "tp": "0501", "qtd": 1 }]
        }
      ]
    }
  ]
}
```

### Nível superior

| Campo                         | Tipo   | Descrição                                                                                   |
| ----------------------------- | ------ | --------------------------------------------------------------------------------------------- |
| `dtbConsult`                  | string | As datas-base consultadas                                                                      |
| `cdCli`                       | string | O documento consultado: o CPF para um indivíduo, ou a **raiz do CNPJ de 8 dígitos** para uma empresa |
| `tpCli`                       | string | `"1"` para um indivíduo, `"2"` para uma entidade legal                                             |
| `lsDtb`                       | array  | Uma entrada por data-base consultada. Uma data-base sem dados ainda é listada                   |
| `listaDeMensagensDeValidacao` | array  | Mensagens de validação levantadas pelo Bacen para a solicitação                                           |

### Dentro de uma data-base (`lsDtb[]`)

| Campo         | Tipo   | Descrição                                                                                                         |
| ------------- | ------ | ------------------------------------------------------------------------------------------------------------------- |
| `dtb`         | number | A data-base, no formato `YYYYMM`. Numérico, não uma string                                                                   |
| `msg`         | string | Mensagem do Bacen para esta data-base, quando houver uma                                                                 |
| `docProc`     | string | Porcentagem dos 3040 documentos esperados já incorporados pelo Bacen, excluindo instituições isentas            |
| `volProc`     | string | Porcentagem do volume de operação esperado já aceito para a data-base                                      |
| `qtdIfs`      | number | Número de instituições financeiras onde o titular possui operações                                                    |
| `qtdCongFinc` | number | Número de conglomerados financeiros. Compare com `qtdIfs` para distinguir a verdadeira diversificação de contraparte da aparente |
| `dtbIniRel`   | string | Início do relacionamento do titular com o sistema financeiro nacional                                               |
| `coobAss`     | number | Co-obrigação assumida pelo titular em atribuições de crédito, em BRL                                                   |
| `coobRec`     | number | Co-obrigação recebida em atribuições de crédito, em BRL                                                                |
| `lsOp`        | array  | Grupos de operações                                                                                                    |

### Dentro de um grupo de operações (`lsOp[]`)

O SCR não retorna contratos um a um. As operações são **agregadas** pela combinação de modalidade, fonte de recursos, índice e variação cambial, então uma entrada pode representar vários contratos da mesma natureza.

| Campo      | Tipo   | Descrição                                                                                    |
| ---------- | ------ | ---------------------------------------------------------------------------------------------- |
| `mod`      | string | Código da modalidade — que tipo de crédito é                                                      |
| `oriRec`   | string | Código da fonte de recursos                                                                           |
| `indx`     | string | Código da taxa de referência ou índice                                                                   |
| `varCamb`  | string | Código da variação da taxa de câmbio                                                                   |
| `subJDisc` | string | Presente quando a operação está em disputa: `"D"` desacordo, `"J"` sub judice, `"JD"` ambos |
| `resVenc`  | object | Saldos divididos por vértices de maturidade — veja abaixo                                                  |
| `lsGar`    | array  | Garantias que respaldam o grupo, por tipo (`tp`) e quantidade (`qtd`)                                 |
| `lsInfAd`  | array  | Informações complementares reportadas para o grupo                                               |

Os códigos por trás de `mod`, `oriRec`, `indx`, `varCamb` e `tp` são do próprio Bacen. Seu significado é publicado na referência **DOC3040** — leia lá em vez de inferi-los.

### Vértices de maturidade (`resVenc`)

`resVenc` distribui o saldo do grupo em 30 vértices, em BRL. Apenas os vértices que carregam um valor estão presentes. Eles se dividem em três famílias:

| Família                 | O que significa                                                                                                                                                                                                                                                                                       |
| ---------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Ainda não vencido**        | Pagamentos cuja data ainda não chegou. O limite é generoso — um pagamento com até **14 dias** de atraso ainda conta aqui, então pequenos atrasos operacionais não são lidos como inadimplência. Mede compromisso, não problemas: o que importa é a forma da curva ao longo do tempo                                         |
| **Atrasado**            | Pagamentos com mais de 14 dias de atraso, classificados em categorias progressivamente mais antigas. Duas dívidas do mesmo valor, uma com 20 dias de atraso e outra com 200, são situações opostas. Leia a **migração entre categorias** mês a mês: valor descendo a escada é recuperação, subindo é uma inadimplência em progresso |
| **Categorias especiais** | Alguns vértices não são janelas de tempo; eles representam estados ou compromissos que não se encaixam na régua de maturidade                                                                                                                                                                                 |

A janela exata por trás de cada código de vértice individual é definida pela referência DOC3040.

## Erros

| Status | Código                      | O que significa                                                                                               |
| ------ | --------------------------- | ----------------------------------------------------------------------------------------------------------- |
| 400    | `SCR_INVALID_REQUEST`       | O intervalo de datas-base foi rejeitado. Verifique se `from` e `to` estão no formato `YYYYMM` e que `from` não é posterior a `to` |
| 403    | `SCR_FEATURE_NOT_ENABLED`   | O SCR não está habilitado em sua assinatura                                                                 |
| 404    | `ITEM_NOT_FOUND`            | Nenhum item desse tipo, ou sua autorização foi revogada                                                         |
| 422    | `SCR_ITEM_NOT_SUPPORTED`    | O item não é uma conexão de Open Finance, ou seu CPF/CNPJ está ausente ou malformado                         |
| 500    | `SCR_FETCH_ERROR`           | Não conseguimos completar a consulta                                                                      |
| 502    | `SCR_SERVICE_UNAVAILABLE`   | O serviço SCR do Bacen está indisponível. Tente novamente mais tarde                                                             |

Um `502` carrega um `correlationId` sob `data`. Cite-o ao relatar a falha para nós — é o que nos permite rastrear a consulta exata.

```json
{
  "code": 502,
  "codeDescription": "SCR_SERVICE_UNAVAILABLE",
  "message": "O serviço SCR do Bacen está temporariamente indisponível. Por favor, tente novamente mais tarde.",
  "data": { "correlationId": "8047f6e9-bb9e-4b04-8515-e2210dc4c544" }
}
```

<Callout variant="warning" title="Projete para interrupções">
  O serviço SCR do Bacen tem interrupções prolongadas. Projete para `502` — tente novamente com
  retrocesso, e não trate uma consulta indisponível como uma ausência de histórico de crédito.
</Callout>