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

# Retrieve Document Metadata

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

## Request

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

Return structural metadata for a document: filing type, source document type, total character count, named sections with character counts, and a recommended_call hint that guides whether to fetch the whole document or a specific section next. It also reports whether the document is mined (its datapoints have been extracted) and the ids of the published fundamentals mined from it, which the MCP uses to meter document reads. The endpoint never returns the document body. Documents whose filing type is outside the allowlist return 200 with recommended_call set to not_supported and reason populated. 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

## Response `200`

- DocumentMetadataResponse: Serializer for the GET /api/v2/documents/{id}/metadata response. Surfaces structural metadata only: document identity, filing type, section breakdown with character counts, and a ``recommended_call`` hint that downstream callers (REST /content, get_document_content MCP tool) consume to decide what to retrieve next.
  - `document_id` integer, required: Unique document identifier
  - `company_id` integer, nullable, required: Id of the company the document belongs to. Resolved from the document's direct company with a fallback to its company identifier for older rows. Callers use it to attribute document access to a company (access control and subscription).
  - `title` string, required: Human-readable document title
  - `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.
  - `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).
  - `total_characters` integer, required: Total number of characters in the document text. 0 when not_supported.
  - `total_sections` integer, required: Number of named sections in the document. 0 when not_supported.
  - `available_sections` DocumentSection[], required: Named sections with character counts. Empty when not_supported.
    - `name` string, required: Display name of the section
    - `characters` integer, required: Number of characters in the section
  - `recommended_call` 'small_full' | 'large_with_section' | 'single_section_filing' | 'not_supported', required: * `small_full` - small_full * `large_with_section` - large_with_section * `single_section_filing` - single_section_filing * `not_supported` - not_supported
  - `reason` string, nullable: Populated when recommended_call is not_supported.
  - `is_mined` boolean, required: True when the document entered our system on or before the company's latest published client view, meaning its datapoints have been extracted. A mined document can carry zero datapoints. False means the document is newer than the latest published view.
  - `mined_fundamental_ids` integer[], required: Ids of every published fundamental mined from this document. Empty when the document is unmined or nothing was mined from it.

## Other responses

- `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/metadata/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)
