> ## Documentation Index
> Fetch the complete documentation index at: https://docs.methodfi.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Raw Credit Reports

> Receive the raw bureau credit report behind a Connect as downloadable files.

Connect discovers liabilities using the user's credit report. Teams with raw credit report access enabled can also receive that underlying bureau report itself, as a downloadable raw credit report (JSON, or native XML for TransUnion) and/or credit report PDF returned as [Files](https://docs.methodfi.com/reference/files/overview.md). Files give you a durable copy of the report (e.g. for compliance archives or underwriting reviews) that can be re-downloaded at any time. A Connect can also [return credit scores](#requesting-credit-scores) inside those Files.

## Prerequisites

* Raw credit report features are enabled on a case-by-case basis. Contact Method to enable these.
* The Entity must be verified and must not have [withdrawn consent](https://docs.methodfi.com/reference/entities/consent/withdraw.md).

## Requesting the raw report

**1. Create a Connect with artifacts**

Pass `bureau` and `artifacts` when [creating a Connect](https://docs.methodfi.com/reference/entities/connect/create.md):

```bash theme={null}
curl https://production.methodfi.com/entities/ent_au22b1fbFJbp8/connect \
  -X POST \
  -H "Method-Version: 2026-03-30" \
  -H "Authorization: Bearer sk_WyZEWVfTcH7GqmPzUPk65Vjc" \
  -H "Content-Type: application/json" \
  -d '{
    "bureau": "transunion",
    "artifacts": ["raw_credit_report", "credit_report_pdf"]
  }'
```

| Field | Type | Notes |
| - | - | - |
| `bureau` | enum | `transunion` or `equifax`. Required whenever `artifacts` is set. Method will work with your team to set which bureaus are allowed. |
| `artifacts` | enum\[] | Any of `raw_credit_report`, `credit_report_pdf`. Each becomes a downloadable File on the Connect. |

> [!NOTE]
>
> Each Connect pulls from a single bureau. To receive credit reports from both bureaus, you will need to make 2 separate Connect calls.

**2. Read the response**

The Connect response includes the requested artifacts in `files`:

```json response.data theme={null}
{
  "id": "cxn_4ewMmBbjYDMR4",
  "entity_id": "ent_au22b1fbFJbp8",
  "status": "completed",
  "accounts": ["acc_eKKmrXDpJBKgw", "acc_GV8WbmJW7KGRy"],
  "requested_products": [],
  "requested_subscriptions": [],
  "files": [
    {
      "id": "file_jZWkPMhXPeYAn",
      "type": "raw_credit_report",
      "bureau": "transunion",
      "mime_type": "application/json"
    },
    {
      "id": "file_qTnUv7DdKcRW2",
      "type": "credit_report_pdf",
      "bureau": "transunion",
      "mime_type": "application/pdf"
    }
  ],
  "error": null,
  "created_at": "2026-07-06T18:00:00.000Z",
  "updated_at": "2026-07-06T18:00:12.000Z"
}
```

**3. Download the file artifacts**

Note the `file_id`s in the above response and use [Retrieve a File](https://docs.methodfi.com/reference/files/retrieve.md) to get the File's metadata, including a temporary `download_url` to its contents:

```bash theme={null}
curl https://production.methodfi.com/files/file_jZWkPMhXPeYAn \
  -H "Method-Version: 2026-03-30" \
  -H "Authorization: Bearer sk_WyZEWVfTcH7GqmPzUPk65Vjc"
```

Fetch the `download_url`. A new URL is generated on every retrieve and expires at `download_expires_at`.

Additionally, you can stream a File's contents directly with [Download a File](https://docs.methodfi.com/reference/files/download.md):

```bash theme={null}
curl https://production.methodfi.com/files/file_jZWkPMhXPeYAn/download \
  -H "Method-Version: 2026-03-30" \
  -H "Authorization: Bearer sk_WyZEWVfTcH7GqmPzUPk65Vjc" \
  -o raw_credit_report.json
```

## Receiving TransUnion reports as XML

TransUnion raw credit reports are returned as JSON by default. To receive the native TransUnion XML report instead, pass the `raw_report_format=xml` query parameter when [creating a Connect](https://docs.methodfi.com/reference/entities/connect/create.md):

```bash theme={null}
curl "https://production.methodfi.com/entities/ent_au22b1fbFJbp8/connect?raw_report_format=xml" \
  -X POST \
  -H "Method-Version: 2026-03-30" \
  -H "Authorization: Bearer sk_WyZEWVfTcH7GqmPzUPk65Vjc" \
  -H "Content-Type: application/json" \
  -d '{
    "bureau": "transunion",
    "artifacts": ["raw_credit_report"]
  }'
```

| Query parameter | Type | Notes |
| - | - | - |
| `raw_report_format` | enum | `json` (default) or `xml`. Applies only to the `raw_credit_report` artifact. `xml` is only supported when `bureau` is `transunion`. |

The `raw_credit_report` File then has a `mime_type` of `application/xml`. Always use a File's `mime_type` to decide how to parse its contents, and save XML downloads with an `.xml` extension (for example, `-o raw_credit_report.xml`).

> [!NOTE]
>
> Equifax raw credit reports are always returned as JSON. Requesting `raw_report_format=xml` for an Equifax `raw_credit_report` returns a `CONNECT_RAW_REPORT_FORMAT_UNSUPPORTED_BUREAU` error.

## Requesting credit scores

A Connect can return one or more credit scores with the credit report. Pass `score_models` with `bureau` and `artifacts` when [creating a Connect](https://docs.methodfi.com/reference/entities/connect/create.md):

```bash theme={null}
curl https://production.methodfi.com/entities/ent_au22b1fbFJbp8/connect \
  -X POST \
  -H "Method-Version: 2026-03-30" \
  -H "Authorization: Bearer sk_WyZEWVfTcH7GqmPzUPk65Vjc" \
  -H "Content-Type: application/json" \
  -d '{
    "bureau": "transunion",
    "artifacts": ["raw_credit_report", "credit_report_pdf"],
    "score_models": ["vantage_4", "fico_8", "fico_auto_8"]
  }'
```

| Field | Type | Notes |
| - | - | - |
| `score_models` | enum\[] | One or more score models to return with the report, each listed once. Requires `bureau` and at least one of the `raw_credit_report` or `credit_report_pdf` artifacts. |

Score models are enabled per team and per bureau. Contact Method to enable the models you need. Every model in `score_models` must be enabled for your team on the requested `bureau`, or the request fails with `CONNECT_SCORE_MODELS_NOT_ENABLED` and the error message lists the models that are not enabled. If you omit `score_models`, the Connect returns the default score models Method configured for your team on that bureau, if any.

### Available score models

Each bureau supports a different set of models.

| Score model | `score_models` value | TransUnion | Equifax |
| - | - | - | - |
| VantageScore 3.0 | `vantage_3` | Not available | Available |
| VantageScore 4.0 | `vantage_4` | Available | Available |
| FICO Score 8 | `fico_8` | Available | Not available |
| FICO Score 9 | `fico_9` | Available | Not available |
| FICO Auto Score 8 | `fico_auto_8` | Available | Not available |
| FICO Auto Score 9 | `fico_auto_9` | Available | Not available |

### Reading scores from the report

Scores are returned inside the credit report Files, not on the Connect object. The `credit_report_pdf` artifact prints the same scores in the bureau's own layout.

> [tab] TransUnion JSON
>
> The `scores` array holds one entry per requested model. Use `model` to identify each entry. Each entry has up to five `factors`, ordered by `rank`: `1` is the factor that lowered the score the most, `2` the next most, and so on. TransUnion returns factor codes without descriptions.
>
> ```json theme={null}
> "scores": [
>   {
>     "score": 742,
>     "factors": [
>       { "rank": 1, "code": "04" },
>       { "rank": 2, "code": "14" },
>       { "rank": 3, "code": "03" },
>       { "rank": 4, "code": "16" }
>     ],
>     "model": "vantage_4"
>   },
>   {
>     "score": 731,
>     "factors": [
>       { "rank": 1, "code": "040" },
>       { "rank": 2, "code": "013" },
>       { "rank": 3, "code": "020" },
>       { "rank": 4, "code": "010" }
>     ],
>     "model": "fico_8"
>   }
> ]
> ```

> [tab] TransUnion XML
>
> Each score is an `addOnProduct` element whose `scoreModel` element holds the score and the factor codes. Each `factor` element has the same `rank` and `code` as the JSON report.

> [tab] Equifax JSON
>
> The `models` array holds one entry per requested model. Each entry has a `score` and up to four `reasons`, each with a `code` and a `description`. Equifax can also return other entry types in `models`, so read only the entries whose `type` is `MODEL`.
>
> Equifax entries do not include a `model` field. Use `modelNumber` to identify each entry:
>
> | `modelNumber` | `score_models` value |
> | - | - |
> | `05143` | `vantage_3` |
> | `05402` | `vantage_4` |
>
> ```json theme={null}
> "models": [
>   {
>     "type": "MODEL",
>     "modelNumber": "05402",
>     "score": 742,
>     "reasons": [
>       { "code": "04", "description": "BALANCES ON ACCOUNTS TOO HIGH COMPARED TO CREDIT LIMITS AND LOAN AMOUNTS" },
>       { "code": "14", "description": "TOO HIGH PROPORTION OF ACCOUNTS RECENTLY OPENED" },
>       { "code": "03", "description": "AVERAGE TIME SINCE ACCOUNTS OPENED IS TOO RECENT" },
>       { "code": "16", "description": "TOTAL OF CREDIT LIMITS AND LOAN AMOUNTS IS TOO LOW" }
>     ]
>   }
> ]
> ```

> [!NOTE]
>
> Each Connect pulls from a single bureau, so it returns only that bureau's scores. To receive scores from both bureaus, make 2 separate Connect calls.

## Retrieving the raw report later

Files persist after the Connect completes. [Retrieve the Connect](https://docs.methodfi.com/reference/entities/connect/retrieve.md) at any time to read its `files` array, then download the contents via the [Files API](https://docs.methodfi.com/reference/files/overview.md).

## Webhooks

Connects with products or subscriptions (or the `Prefer: respond-async` header) process asynchronously. Listen for `connect.available` to know when an async Connect (including its artifacts) is ready, and `connect.create` for synchronous completions. See [Connect webhooks](https://docs.methodfi.com/guides/connect/subscriptions.md).

## Errors

| `sub_type` | Cause |
| - | - |
| `CONNECT_BUREAU_REQUIRED_FOR_ARTIFACTS` | `artifacts` sent without `bureau` |
| `CONNECT_BUREAU_NOT_CONFIGURED` | No bureaus have been configured for your team |
| `CONNECT_BUREAU_NOT_ENABLED` | The requested bureau is not in your team's allowed bureaus |
| `CONNECT_RAW_REPORT_NOT_ENABLED` | The `raw_credit_report` artifact is not enabled for your team |
| `CONNECT_CREDIT_REPORT_PDF_NOT_ENABLED` | The `credit_report_pdf` artifact is not enabled for your team |
| `CONNECT_RAW_REPORT_FORMAT_UNSUPPORTED_BUREAU` | `raw_report_format=xml` sent with a `raw_credit_report` artifact for a bureau other than `transunion` |
| `CONNECT_SCORE_MODELS_REQUIRE_CREDIT_REPORT_ARTIFACT` | `score_models` sent without `bureau`, or without a `raw_credit_report` or `credit_report_pdf` artifact |
| `CONNECT_SCORE_MODELS_NOT_ENABLED` | One or more requested score models are not enabled for your team on the requested bureau |

See [Connect errors](https://docs.methodfi.com/reference/errors/connect-errors.md) and [File errors](https://docs.methodfi.com/reference/errors/file-errors.md) for the full list.

> [!NOTE]
>
> **Handling sensitive data.** The raw credit report contains the consumer's full bureau file. Treat it as highly sensitive: store it encrypted, restrict access, and only retain it as long as your compliance obligations require.

For the full API surface, see the [Connect reference](https://docs.methodfi.com/reference/entities/connect/overview.md) and the [Files reference](https://docs.methodfi.com/reference/files/overview.md).


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.