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

# Retrieve Document Content

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

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`

---

[API](https://skmtc.net/daloopa/apis/daloopa-api.md) · [All operations](https://skmtc.net/daloopa/apis/daloopa-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/daloopa/daloopa-api/versions/746538a1eb45/schema)
