---
title: "Retrieve Document Content"
method: GET
path: "/api/v3/documents/{document_id}/content"
tags: ["Documents"]
---

# Retrieve Document Content

`GET /api/v3/documents/{document_id}/content`

## Request

- Base URL: `https://app.daloopa.com`
- URL: `https://app.daloopa.com/api/v3/documents/{document_id}/content`
- Auth: HTTP basic

Return the processed flat text of a supported document (10-K, 10-Q, 8-K, News Article, Others). The response is a flat shape with no pagination and no section list; callers that need the section list or the recommended_call hint use the /metadata endpoint, and callers that need the original document file use GET /api/v2/documents/{id}. By default the response is capped at max_characters (100000) and truncated=true is set when the cap is hit. Pass full_content=true to bypass the cap. Filing types outside the allowlist return 400 with a reason; an unknown section name returns 400 with the available_sections list so the caller can recover. Earnings call transcripts are excluded from whole-document access and return 403; use /documents/keyword-search to query transcript content.

## Path parameters

- `document_id` integer, required

## Query parameters

- `full_content` boolean
- `max_characters` integer
- `section` string

## Response `200`

- DocumentContentResponse: Flat response for GET /api/v2/documents/{id}/content. The shape is intentionally narrow: just enough for the caller to use the text. Section-level metadata (the available section list, the recommended_call hint) is the responsibility of the /metadata endpoint; the caller already knows which section it asked for.
  - `document_id` integer, required: Unique document identifier
  - `document_type` string, required: Source document type classification carried alongside filing_type. Useful for disambiguating the broad Others filing bucket (for example Earnings Presentation, Investor Day Presentation, 6-K).
  - `filing_type` string, required: Type of filing (10-K, 10-Q, 8-K, News Article, Others). Transcripts are blocked on this endpoint and return 403; use /documents/keyword-search for transcript content.
  - `content` string, required: Document text. Capped at max_characters unless full_content=true. When section is provided, contains just that section's text.
  - `number_of_characters` integer, required: Number of characters in the returned content.
  - `truncated` boolean, required: True when the resolved text was longer than max_characters and the response was sliced. Always false when full_content=true.

## Other responses

- `400`
- `401`
- `403`
- `404`
- `429`
- `500`

## Changes

- **2026-11-03** `90ca7c9d6f4e`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/daloopa/apis/daloopa-api/changes/api/v3/documents/:document_id/content/get.md)

---

[API](https://skmtc.dev/daloopa/apis/daloopa-api.md) - [All operations](https://skmtc.dev/daloopa/apis/daloopa-api/llms.txt) - [OpenAPI document](https://skmtc.dev/daloopa/apis/daloopa-api/revisions/90ca7c9d6f4e?raw)
