Alpha AnalystDocs

MCP Tools

MCP tool names, arguments, and recorded responses, grouped like the API.

Each tool below is the MCP call: the tool name, the MCP description, the arguments, and the response fields. Categories match the API groups. A filing id and a document id follow the same rules as Documents.

Entities

Entity Search

entitiesSearch

Autocomplete companies, funds, ETFs, and people. query=AAPL, query=AAPL US, or a name. Returns ungrouped securities, primary listing first. If you already know a ticker, CIK, LEI, FIGI, or series id, call entitiesResolve with id= instead. category defaults to ALL. ISIN and CUSIP match but are never returned.

Arguments

query*stringe.g. AAPL

Name, ticker, or identifier to search. Tickers accept the bare symbol (AAPL, BRK-B) and the venue-qualified forms AAPL US (space) or AAPL-US (hyphen). Also matches CIK, LEI, EDINET code, CRD, SEC series id, internal id, FIGI, composite FIGI, and share-class FIGI. An entity id (CIK, LEI, series id) can return several securities of that issuer or series, ranked primary first. ISIN and CUSIP are accepted for matching but are never returned. See Ids you can send.

category?ALL | EQUITY | ETF | FUND | PERSON | PRIVATE_COMPe.g. ALL

ALL, EQUITY, ETF, FUND, PERSON, or PRIVATE_COMP. Default ALL. ALL mixes types by relevance. See Entities Overview for type definitions.

limit?integere.g. 10

Page size. Maximum 20.

offset?integere.g. 0

Number of ranked hits to skip.

Response

Autocomplete page: the query echo plus ranked security-level Entity rows.

query?string

The text that was searched.

category?string

Echo of the category tab that was searched.

limit?integer

Page size that was applied.

offset?integer

Number of ranked hits that were skipped.

results?

Ungrouped securities ranked by autocomplete score. An entity-id match lists that issuer's or series' lines from our primary pick to less popular classes and listings. A ticker or FIGI match ranks the matching security first.

Entity Reference

entitiesResolve

Look up one listing by id. Tickers (AAPL, AAPL US, AAPL-US), CIK, LEI, EDINET, CRD, series id, internal id, FIGI, ISIN, CUSIP. Entity keys return the primary security; ticker/FIGI return that security. ISIN and CUSIP never appear in the response. Examples: id=AAPL; id=0000320193. Prefer this over entitiesSearch when the id is known.

Arguments

id*stringe.g. AAPL

Company or listing id. Same resolve as Entity Reference: ticker (AAPL, AAPL US, AAPL-US), CIK, LEI, EDINET code, CRD, SEC series id, internal id, FIGI, composite FIGI, and share-class FIGI. ISIN and CUSIP match but are never returned. See Ids you can send.

category?EQUITY | ETF | FUND | PERSON | PRIVATE_COMP

EQUITY, ETF, FUND, PERSON, or PRIVATE_COMP. Optional type filter. Do not pass ALL.

Response

Reference result: the id echo plus one Entity, or null on a miss.

id?string

The identifier you sent.

category?string

Echo of the optional type filter. Null when omitted.

entity?

The referenced row, or null if nothing matched. A miss is not an error. When id is an entity key, this is our primary security for that issuer or series.

Entity Securities

entitiesSecurities

List listings for one issuer or series. Same id forms as entitiesResolve (ticker, CIK, LEI, FIGI, …). Primary ordinary/US line first. Miss: entity=null, securities=[]. Use this when you want every line of a known issuer, not an autocomplete page.

Arguments

id*stringe.g. AAPL

Company or listing id. Same resolve as Entity Reference: ticker (AAPL, AAPL US, AAPL-US), CIK, LEI, EDINET code, CRD, SEC series id, internal id, FIGI, composite FIGI, and share-class FIGI. ISIN and CUSIP match but are never returned. See Ids you can send.

Response

The resolved entity plus its catalog listings, primary line first.

id?string

The identifier you sent.

entity?

Slim identity of the catalog row the id resolved to, or null if nothing matched.

count?integer

Number of securities returned.

securities?

Listings of that issuer or series, primary ordinary/US line first, then other classes and venues.

Entity Structure

entitiesStructure

Legal-entity hierarchy for one id. Same id forms as entitiesResolve. Needs an LEI on the resolved row. scope=below (default): requested entity at level 1 plus descendants. scope=ultimate: ultimate parent at level 1, full tree. level=-1 all depths; active=-1 both, 1 active, 0 inactive (requested entity always kept). Reconstruct the tree with parent_lei and level.

Arguments

id*stringe.g. AAPL

Company or listing id. Same resolve as Entity Reference: ticker (AAPL, AAPL US, AAPL-US), CIK, LEI, EDINET code, CRD, SEC series id, internal id, FIGI, composite FIGI, and share-class FIGI. ISIN and CUSIP match but are never returned. See Ids you can send.

scope?below | ultimatee.g. below

below or ultimate. Default below. below returns the requested entity as the root and entities under it. ultimate returns the ultimate parent as the root and the full subordinate tree, including siblings of the requested entity.

level?integere.g. -1

Depth filter. -1 returns every level. 1-8 returns only nodes at that depth (root is 1).

active?-1 | 0 | 1e.g. -1

-1, 0, or 1. Default -1. 1 keeps active nodes, 0 keeps inactive nodes, -1 keeps both. The requested entity is always included when its level matches.

Response

Resolved identity plus a flat legal-entity hierarchy. Reconstruct the tree with parent_lei and level.

id?string

The identifier you sent.

scope?string

Echo of the tree scope that was applied.

level?integer

Echo of the depth filter that was applied.

active?integer

Echo of the active filter that was applied.

entity?

Slim identity of the catalog row the id resolved to, or null if nothing matched.

center_lei?string

LEI of the requested entity. Empty when the row has no LEI or the id did not match.

ultimate_parent_lei?string

Root LEI of the returned tree.

has_relationships?boolean

True when at least one hierarchy edge was returned.

count?integer

Number of nodes returned after filters.

nodes?

Flat hierarchy in parent-before-child order. Empty when the id missed, the entity has no LEI, or filters removed every node.

Documents

Document Search

documentsSearch

Search SEC filings, Japan EDINET filings, and the caller's uploaded files in one list. Without query, each result is kind=filing: parent_id, document_id of the primary file, display, entities, and documents[] with every file (is_primary, display_order). With query, each result is kind=document for the matched file only: excerpts, a slim parent, and no documents array. Uploads are always kind=document. Optional id is any Entity Reference identifier (ticker, CIK, LEI, EDINET, FIGI, and the rest) and scopes the search to that company; a miss is 404. Optional sources is an array of sec, edinet, user; omit it to search every source the caller can access. user requires a signed-in user. Optional filing_type_categories is financials_periodic, current_reports, events (deprecated alias of current_reports, not an IR event), ownership, proxies_agm, registrations_offerings, mna_tenders, correspondence, orders_notices, trust_indenture, or other. Optional filing_types is annual_report, periodic_report, current_report, proxy_statement, registration_statement, tender_offer_document, beneficial_ownership_filing, insider_ownership_filing, or a raw SEC form / EDINET code such as 10-K or 120. Call documentsTypes to see how groups expand. sort_by is score or date (default score). sort_order is desc or asc. size defaults to 15, cap 30. chunks_size defaults to 5, cap 20, and only applies when query is set. next_id pages. from_date and to_date are inclusive calendar dates on the source filing or upload day. Response is count, size, results. Each result has kind, document_id, source, display, published_at (same value as filed_at, UTC with Z). Pass document_id to documentsContents. Pass parent_id to documentsGet when you need the full file list. For SEC fy/period, EDINET reporting-period dates, or upload folder filters, use secFilingsSearch, edinetFilingsSearch, or userDocumentsSearch.

Arguments

query?stringe.g. iPhone

Keyword search over document text. Omit to list recent filings. Excerpts are returned only when this is set.

id?stringe.g. AAPL

Company or listing id. Same resolve as Entity Reference: ticker (AAPL, AAPL US, AAPL-US), CIK, LEI, EDINET code, CRD, SEC series id, internal id, FIGI, composite FIGI, and share-class FIGI. ISIN and CUSIP match but are never returned. See Ids you can send.

sources?sec | edinet | user[]

sec, edinet, or user. Comma-separated on GET. Omit to search every source you can access. user requires sign-in.

from_date?string

Inclusive start calendar date as YYYY-MM-DD or yyyyMMdd. Filters the source filing or upload day (SEC acceptance, EDINET submission, or upload), which is the same clock filed_at is converted from. See filed_at.

to_date?string

Inclusive end calendar date as YYYY-MM-DD or yyyyMMdd. Filters the source filing or upload day (SEC acceptance, EDINET submission, or upload), which is the same clock filed_at is converted from. See filed_at.

sort_by?score | datee.g. score

score or date. Default score. Ignored when query is omitted (browse is always by date).

sort_order?asc | desce.g. desc

asc or desc. Default desc.

size?integere.g. 15

Page size. Default 15. Maximum 30.

chunks_size?integere.g. 5

Excerpts per document when query is set. Default 5. Maximum 20.

filing_type_categories?string[]

financials_periodic, current_reports, ownership, proxies_agm, registrations_offerings, mna_tenders, correspondence, orders_notices, trust_indenture, or other. current_reports is 8-K and 6-K style disclosures. events is a deprecated alias of current_reports and is not an IR event. Comma-separated on GET. Optional. Maps to native SEC type_category and EDINET disclosure types. Full expansion: Document Types.

filing_types?string[]

annual_report, periodic_report, current_report, proxy_statement, registration_statement, tender_offer_document, beneficial_ownership_filing, insider_ownership_filing, or a raw SEC form / EDINET code (10-K, 8-K, 120). Comma-separated on GET. Optional. Groups and codes: Document Types.

next_id?string

Cursor from the previous page. Omit on the first page.

Response

A page of Document items.

count?integer

Unique documents matching across enabled sources. Present on the first page.

size?integer

Page size that was applied.

results?

Document items ranked by score or filed_at.

next_id?string

Pass as next_id to fetch the next page. Omitted when there are no more hits.

Document Reference

documentsGet

Look up one id. A filing id (SEC accession or EDINET internal filing id) returns kind=filing with every file in documents[] and document_id set to the primary file (is_primary). A document id, accession|chunk, or exhibit id returns kind=document with a slim parent and no documents array. Uploaded files are kind=document with filing_id null. Pass a document_id to documentsContents, not a filing id. Response is { document_id, kind, document }. document.display has title, type, type_long, description. published_at and filed_at are the same UTC instant. entities[] are Entity items. A miss is 404.

Arguments

id*stringe.g. 0000320193-25-000079|0

Document or filing id. SEC accession, accession|chunk, exhibit document_id, EDINET internal filing id or document_id, or an uploaded file id from Document Search. See The Document item.

Response

The looked-up document_id plus one Document item.

document_id?string

The document identifier you sent.

document?

The referenced Document item.

Document Contents

documentsContents

Markdown contents for one document. Pass the same id as documentsGet (Document Search document_id, SEC accession, accession|chunk, EDINET filing or document id, or uploaded file id). Optional query searches inside the document. Optional max_tokens (about 4 characters per token) caps this page. page defaults to 1 and is only valid with query. Response JSON has document_id, document (Document item), and content (markdown). document.filed_at is UTC with a Z suffix (SEC Eastern and EDINET Japan wall clocks converted to UTC). More pages set next_page. A miss is 404.

Arguments

id*stringe.g. 0000320193-25-000079|0

Document or filing id. SEC accession, accession|chunk, exhibit document_id, EDINET internal filing id or document_id, or an uploaded file id from Document Search. See The Document item.

query?string

Keyword search inside this document. Omit to read sequential chunks from the start.

max_tokens?integere.g. 400

Soft cap for this page. About 4 characters per token. Omit to return up to 20 chunks.

page?integere.g. 1

1-based page of in-document hits. Default 1. Valid only when query is set.

Response

Document item plus markdown content for this page.

document_id?string

The document identifier you sent.

document?

The Document item whose body was fetched.

content?string

Markdown body for this page.

page?integer

Page that was returned. Present when query is set.

next_page?integer

Next page number when more in-document hits exist. Omit query and raise max_tokens to continue a sequential read.

Document Types

documentsTypes

List filing type groups and every known SEC form and EDINET document type code. filing_type_categories ids are financials_periodic, current_reports, events (deprecated alias of current_reports), ownership, proxies_agm, registrations_offerings, mna_tenders, correspondence, orders_notices, trust_indenture, other. filing_types group ids are annual_report, periodic_report, current_report, proxy_statement, registration_statement, tender_offer_document, beneficial_ownership_filing, insider_ownership_filing. Each category and group lists the native SEC type_category / EDINET disclosure values and the concrete forms and codes. Pass those ids or a raw form/code on documentsSearch, secFilingsSearch, and edinetFilingsSearch.

Arguments

No arguments.

Response

Filing-type catalog used by Document Search, SEC Filings, and EDINET Translated Filings.

filing_type_categories?

Unified category ids you pass as filing_type_categories, with native SEC and EDINET expansions.

filing_types?

Unified type-group ids you pass as filing_types, with SEC forms and EDINET codes.

sec_type_categories?

Native SEC type_category buckets assigned at ingest.

sec_filing_types?array<string>

Every known SEC form type, including /A amendments.

edinet_disclosure_types?

Native EDINET standardized_disclosure_type values.

edinet_document_types?

Every known EDINET document type code with English name and disclosure bucket.

SEC Filings

SEC Filing Search

secFilingsSearch

Search US SEC filings only. Same Document fields as documentsSearch plus SEC submission metadata (type_category, items, report/effectiveness/action dates, ABS and WKSI flags, fund series, related accessions, SIC/EIN/state lists). Optional id is any Entity Reference identifier and scopes to that company's CIK; a miss is 404. Optional filing_type_categories is financials_periodic, current_reports, events (deprecated alias of current_reports), ownership, proxies_agm, registrations_offerings, mna_tenders, correspondence, orders_notices, trust_indenture, or other. Optional filing_types is a group such as annual_report or a raw SEC form such as 10-K. Optional fy is four-digit years; optional period is FY, Q1, Q2, Q3, or Q4; both read the fiscal header on the filing. from_date and to_date filter SEC acceptance day. sort_by is score or date. size defaults to 15, cap 30. Pass document_id to secFilingsGet or secFilingsContents. Call secFilingsTypes for SEC-only group expansions.

Arguments

query?string

Keyword search over filing text. Omit to list recent filings. Excerpts are returned only when this is set.

id?stringe.g. AAPL

Company or listing id. Same resolve as Entity Reference: ticker (AAPL, AAPL US, AAPL-US), CIK, LEI, EDINET code, CRD, SEC series id, internal id, FIGI, composite FIGI, and share-class FIGI. ISIN and CUSIP match but are never returned. See Ids you can send.

from_date?string

Inclusive start calendar date as YYYY-MM-DD or yyyyMMdd on SEC acceptance day. See filed_at.

to_date?string

Inclusive end calendar date as YYYY-MM-DD or yyyyMMdd on SEC acceptance day. See filed_at.

filing_type_categories?string[]

financials_periodic, current_reports, ownership, proxies_agm, registrations_offerings, mna_tenders, correspondence, orders_notices, trust_indenture, or other. current_reports is 8-K and 6-K style disclosures. events is a deprecated alias of current_reports and is not an IR event. Comma-separated on GET. Optional. Maps to native SEC type_category and EDINET disclosure types. Full expansion: Document Types.

filing_types?string[]

annual_report, periodic_report, current_report, proxy_statement, registration_statement, tender_offer_document, beneficial_ownership_filing, insider_ownership_filing, or a raw SEC form / EDINET code (10-K, 8-K, 120). Comma-separated on GET. Optional. Groups and codes: Document Types.

fy?string[]

Four-digit fiscal years (2024). Comma-separated on GET. Optional. Matches the fiscal year on the submission header.

period?FY | Q1 | Q2 | Q3 | Q4[]

FY, Q1, Q2, Q3, or Q4. Comma-separated on GET. Optional. Combine with fy to require both. Matches the fiscal period on the submission header.

sort_by?score | datee.g. score

score or date. Default score. Ignored when query is omitted (browse is always by date).

sort_order?asc | desce.g. desc

asc or desc. Default desc.

size?integere.g. 15

Page size. Default 15. Maximum 30.

chunks_size?integere.g. 5

Excerpts per filing when query is set. Default 5. Maximum 20.

next_id?string

Cursor from the previous page. Omit on the first page.

Response

A page of SEC Filing items (Document plus SEC fields).

count?integer

Matching filings. Present on the first page.

size?integer

Page size that was applied.

results?

SEC Filing items ranked by score or filed_at.

next_id?string

Pass as next_id to fetch the next page. Omitted when there are no more hits.

SEC Filing Types

secFilingsTypes

List SEC filing type groups and every known SEC form type. filing_type_categories ids are financials_periodic, current_reports, events (deprecated alias of current_reports), ownership, proxies_agm, registrations_offerings, mna_tenders, correspondence, orders_notices, trust_indenture, other. filing_types group ids are annual_report, periodic_report, current_report, proxy_statement, registration_statement, tender_offer_document, beneficial_ownership_filing, insider_ownership_filing. Each category and group lists native SEC type_category values and concrete forms. Pass those ids or a raw form such as 10-K on secFilingsSearch.

Arguments

No arguments.

Response

SEC filing-type catalog used by SEC Filing Search.

filing_type_categories?

Unified category ids you pass as filing_type_categories, with native SEC expansions.

filing_types?

Unified type-group ids you pass as filing_types, with SEC forms.

sec_type_categories?

Native SEC type_category buckets assigned at ingest.

sec_filing_types?array<string>

Every known SEC form type, including /A amendments.

SEC Filing Reference

secFilingsGet

Look up one SEC id. A SEC accession returns kind=filing and every exhibit in documents[]. An exhibit document_id or accession|chunk returns kind=document with parent and no other files. Response is { document_id, kind, document } as a SecFiling (Document fields plus SEC submission metadata on the filing or on the document hit). published_at and filed_at are UTC from SEC Eastern acceptance. An EDINET or uploaded id is 404. A miss is 404.

Arguments

id*stringe.g. 0000320193-24-000123|0

Document or filing id. SEC accession, accession|chunk, exhibit document_id, EDINET internal filing id or document_id, or an uploaded file id from Document Search. See The Document item.

Response

The looked-up document_id plus one SecFiling item.

document_id?string

The document identifier you sent.

document?

The referenced SecFiling item.

SEC Filings Markdown

secFilingsContents

Markdown contents for one SEC exhibit. Pass the same id as secFilingsGet (SEC Filing Search document_id, accession, or accession|chunk). Optional query searches inside the document. Optional max_tokens (about 4 characters per token) caps this page. page defaults to 1 and is only valid with query. Response JSON has document_id, document (SecFiling item), and content (markdown). document.filed_at is UTC with a Z suffix. More pages set next_page. An EDINET or uploaded id is 404. A miss is 404.

Arguments

id*stringe.g. 0000320193-24-000123|0

Document or filing id. SEC accession, accession|chunk, exhibit document_id, EDINET internal filing id or document_id, or an uploaded file id from Document Search. See The Document item.

query?string

Keyword search inside this filing. Omit to read sequential chunks from the start.

max_tokens?integere.g. 400

Soft cap for this page. About 4 characters per token. Omit to return up to 20 chunks.

page?integere.g. 1

1-based page of in-document hits. Default 1. Valid only when query is set.

Response

SecFiling item plus markdown content for this page.

document_id?string

The document identifier you sent.

document?

The SecFiling item whose body was fetched.

content?string

Markdown body for this page.

page?integer

Page that was returned. Present when query is set.

next_page?integer

Next page number when more in-document hits exist. Omit query and raise max_tokens to continue a sequential read.

EDINET Translated Filings

EDINET Filing Search

edinetFilingsSearch

Search Japan EDINET filings (English translations) only. Requires Japan filings access. Same Document fields as documentsSearch plus EDINET form, period, exhibit, and filer-list metadata (standardized_disclosure_type, edinet_document_type_code, filing_period_start/end, ordinance/legal status, Japan tickers, LEIs). Optional id is any Entity Reference identifier and scopes to that company's EDINET code; a miss is 404. Optional filing_type_categories uses the same ids as documentsSearch (correspondence, orders_notices, and trust_indenture do not apply to EDINET). Optional filing_types is a group such as annual_report or a three-digit EDINET code such as 120. Optional fy is a four-digit year on filing_period_end. Optional period_start and period_end (YYYY-MM-DD) also filter filing_period_end. from_date and to_date filter EDINET submission day. sort_by is score or date. size defaults to 15, cap 30. Pass document_id to edinetFilingsGet or edinetFilingsContents. Call edinetFilingsTypes for EDINET-only group expansions.

Arguments

query?string

Keyword search over translated filing text. Omit to list recent filings. Excerpts are returned only when this is set.

id?string

Company or listing id. Same resolve as Entity Reference: ticker (AAPL, AAPL US, AAPL-US), CIK, LEI, EDINET code, CRD, SEC series id, internal id, FIGI, composite FIGI, and share-class FIGI. ISIN and CUSIP match but are never returned. See Ids you can send.

from_date?string

Inclusive start calendar date as YYYY-MM-DD or yyyyMMdd on EDINET submission day. See filed_at.

to_date?string

Inclusive end calendar date as YYYY-MM-DD or yyyyMMdd on EDINET submission day. See filed_at.

filing_type_categories?string[]

financials_periodic, current_reports, ownership, proxies_agm, registrations_offerings, mna_tenders, correspondence, orders_notices, trust_indenture, or other. current_reports is 8-K and 6-K style disclosures. events is a deprecated alias of current_reports and is not an IR event. Comma-separated on GET. Optional. Maps to native SEC type_category and EDINET disclosure types. Full expansion: Document Types.

filing_types?string[]

annual_report, periodic_report, current_report, proxy_statement, registration_statement, tender_offer_document, beneficial_ownership_filing, insider_ownership_filing, or a raw SEC form / EDINET code (10-K, 8-K, 120). Comma-separated on GET. Optional. Groups and codes: Document Types.

fy?string[]

Four-digit years (2024). Comma-separated on GET. Optional. Filters the calendar year of filing_period_end.

period_start?string

Inclusive start as YYYY-MM-DD or yyyyMMdd on the filing reporting period end (filing_period_end), not submission day.

period_end?string

Inclusive end as YYYY-MM-DD or yyyyMMdd on the filing reporting period end (filing_period_end), not submission day.

sort_by?score | datee.g. score

score or date. Default score. Ignored when query is omitted (browse is always by date).

sort_order?asc | desce.g. desc

asc or desc. Default desc.

size?integere.g. 15

Page size. Default 15. Maximum 30.

chunks_size?integere.g. 5

Excerpts per filing when query is set. Default 5. Maximum 20.

next_id?string

Cursor from the previous page. Omit on the first page.

Response

A page of EDINET Filing items (Document plus EDINET fields).

count?integer

Matching filings. Present on the first page.

size?integer

Page size that was applied.

results?

EDINET Filing items ranked by score or filed_at.

next_id?string

Pass as next_id to fetch the next page. Omitted when there are no more hits.

EDINET Filing Types

edinetFilingsTypes

List EDINET filing type groups and every known FSA document type code. filing_type_categories ids that apply to EDINET are financials_periodic, current_reports, events (deprecated alias of current_reports), ownership, proxies_agm, registrations_offerings, mna_tenders, other. correspondence, orders_notices, and trust_indenture are SEC-only and omitted here. filing_types group ids with EDINET codes are annual_report, periodic_report, current_report, proxy_statement, registration_statement, tender_offer_document, beneficial_ownership_filing, insider_ownership_filing. Pass those ids or a three-digit code such as 120 on edinetFilingsSearch.

Arguments

No arguments.

Response

EDINET filing-type catalog used by EDINET Filing Search.

filing_type_categories?

Unified category ids you pass as filing_type_categories, with native EDINET expansions. SEC-only categories are omitted.

filing_types?

Unified type-group ids you pass as filing_types, with EDINET codes. Groups with no EDINET codes are omitted.

edinet_disclosure_types?

Native EDINET standardized_disclosure_type values.

edinet_document_types?

Every known EDINET document type code with English name and disclosure bucket.

EDINET Filing Reference

edinetFilingsGet

Look up one EDINET id. Requires Japan filings access. An internal filing id returns kind=filing and every exhibit in documents[]. A document id returns kind=document with parent and no other files. Response is { document_id, kind, document } as an EdinetFiling. published_at and filed_at are UTC from Japan submission. A SEC or uploaded id is 404. A miss is 404.

Arguments

id*stringe.g. 4347e8f6-68fa-4971-94bb-e7fdb15c4fc9:168:original.html

Document or filing id. SEC accession, accession|chunk, exhibit document_id, EDINET internal filing id or document_id, or an uploaded file id from Document Search. See The Document item.

Response

The looked-up document_id plus one EdinetFiling item.

document_id?string

The document identifier you sent.

document?

The referenced EdinetFiling item.

EDINET Filings Markdown

edinetFilingsContents

Markdown contents for one English-translated EDINET exhibit. Requires Japan filings access. Pass the same id as edinetFilingsGet (EDINET Filing Search document_id, internal filing id, or document id). Optional query searches inside the document. Optional max_tokens (about 4 characters per token) caps this page. page defaults to 1 and is only valid with query. Response JSON has document_id, document (EdinetFiling item), and content (markdown). document.filed_at is UTC with a Z suffix from Japan submission. More pages set next_page. A SEC or uploaded id is 404. A miss is 404.

Arguments

id*stringe.g. 4347e8f6-68fa-4971-94bb-e7fdb15c4fc9:168:original.html

Document or filing id. SEC accession, accession|chunk, exhibit document_id, EDINET internal filing id or document_id, or an uploaded file id from Document Search. See The Document item.

query?string

Keyword search inside this filing. Omit to read sequential chunks from the start.

max_tokens?integere.g. 400

Soft cap for this page. About 4 characters per token. Omit to return up to 20 chunks.

page?integere.g. 1

1-based page of in-document hits. Default 1. Valid only when query is set.

Response

EdinetFiling item plus markdown content for this page.

document_id?string

The document identifier you sent.

document?

The EdinetFiling item whose body was fetched.

content?string

Markdown body for this page.

page?integer

Page that was returned. Present when query is set.

next_page?integer

Next page number when more in-document hits exist. Omit query and raise max_tokens to continue a sequential read.

User Documents

User Document Search

userDocumentsSearch

Search files the signed-in user or their organization uploaded. Requires sign-in and upload access. Same Document fields as documentsSearch plus file_type, parent_folder_id, and is_image. Optional file_types filters the stored file type (pdf, docx). Optional parent_folder_ids lists folder ids; include main for files with no parent folder. from_date and to_date filter upload day. sort_by is score or date. size defaults to 15, cap 30. Never send user_id or organization_id. Pass document_id to userDocumentsGet or userDocumentsContents. Call userFiles to list folders and files. Call userDocumentsTypes for stored file types.

Arguments

query?string

Keyword search over uploaded file text. Omit to list recent uploads. Excerpts are returned only when this is set.

from_date?string

Inclusive start calendar date as YYYY-MM-DD or yyyyMMdd on upload day. See filed_at.

to_date?string

Inclusive end calendar date as YYYY-MM-DD or yyyyMMdd on upload day. See filed_at.

file_types?string[]

Uploaded file types (pdf, docx). Comma-separated on GET. Optional.

parent_folder_ids?string[]

Folder ids to search. Comma-separated on GET. Optional. Pass main for files in the root folder (no parent).

sort_by?score | datee.g. score

score or date. Default score. Ignored when query is omitted (browse is always by date).

sort_order?asc | desce.g. desc

asc or desc. Default desc.

size?integere.g. 15

Page size. Default 15. Maximum 30.

chunks_size?integere.g. 5

Excerpts per file when query is set. Default 5. Maximum 20.

next_id?string

Cursor from the previous page. Omit on the first page.

Response

A page of User Document items (Document plus upload fields).

count?integer

Matching files. Present on the first page.

size?integer

Page size that was applied.

results?

User Document items ranked by score or filed_at.

next_id?string

Pass as next_id to fetch the next page. Omitted when there are no more hits.

User Document Types

userDocumentsTypes

List stored upload file types. file_types ids are pdf, doc, docx, ppt, pptx, xls, xlsx, csv, txt, md, jpeg, jpg, png, gif, webp. Pass those ids on userDocumentsSearch. Leading dots are optional.

Arguments

No arguments.

Response

Stored upload file types used by User Document Search.

file_types?

Stored file types you pass as file_types.

User Document Reference

userDocumentsGet

Look up one uploaded file by id. Requires sign-in and upload access. Accepts a User Document Search or User Files document_id. Identity is the signed-in user and their organization when set; never send user_id or organization_id. Response is { document_id, document } where document is a UserDocument item. A SEC or EDINET id is 404. A miss is 404.

Arguments

id*string

Document or filing id. SEC accession, accession|chunk, exhibit document_id, EDINET internal filing id or document_id, or an uploaded file id from Document Search. See The Document item.

Response

The looked-up document_id plus one UserDocument item.

document_id?string

The document identifier you sent.

document?

The referenced UserDocument item.

User Documents Markdown

userDocumentsContents

Markdown contents for one uploaded file. Requires sign-in and upload access. Pass the same id as userDocumentsGet (User Document Search or User Files document_id). Optional query searches inside the file. Optional max_tokens (about 4 characters per token) caps this page. page defaults to 1 and is only valid with query. Response JSON has document_id, document (UserDocument item), and content (markdown). More pages set next_page. A SEC or EDINET id is 404. A miss is 404. Never send user_id or organization_id.

Arguments

id*string

Document or filing id. SEC accession, accession|chunk, exhibit document_id, EDINET internal filing id or document_id, or an uploaded file id from Document Search. See The Document item.

query?string

Keyword search inside this file. Omit to read sequential chunks from the start.

max_tokens?integer

Soft cap for this page. About 4 characters per token. Omit to return up to 20 chunks.

page?integere.g. 1

1-based page of in-document hits. Default 1. Valid only when query is set.

Response

UserDocument item plus markdown content for this page.

document_id?string

The document identifier you sent.

document?

The UserDocument item whose body was fetched.

content?string

Markdown body for this page.

page?integer

Page that was returned. Present when query is set.

next_page?integer

Next page number when more in-document hits exist. Omit query and raise max_tokens to continue a sequential read.

User Files

userFiles

List files and folders in one library view, or search them by name. Requires sign-in and upload access. Omit query to list one folder: parent_folder_id defaults to main (the root). Pass query to search names; omit parent_folder_id to search the whole library, or set it to search only that folder (not nested children). Optional kind is file or folder. size defaults to 50, cap 100. Response is { parent_folder_id, parent_name, path, results, count, size, truncated } when listing or searching inside a folder. Unrestricted name search omits parent_folder_id / path. Each result has kind file or folder, name, parent_folder_id, and path (ancestors from main). Folders have folder_id and created_at. Files have document_id, file_type, file_size, filed_at. Pass file document_id to userDocumentsGet or userDocumentsContents. Never send user_id or organization_id. A missing parent_folder_id is 404.

Arguments

parent_folder_id?string

Folder to list or to restrict a name search. Omit with query to search the whole library. Omit without query to list main (the root). Pass main for the root folder.

query?string

Name search over files and folders. Omit to list the folder.

kind?file | folder

file or folder. Omit to return both.

size?integere.g. 50

Page size. Default 50. Maximum 100.

Response

Files and folders in the listed folder, or name-search hits.

parent_folder_id?string

Folder that was listed or used to scope a name search. main is the library root. Omitted when query searches the whole library.

parent_name?string

Name of that folder. main for the library root.

path?

Ancestors from main through the listed folder. Omitted when query searches the whole library.

query?string

Name search that was applied. Present when query was set.

results?

Folders first (by name), then files (newest first) when listing. Name-search hits are ranked by similarity.

count?integer

Number of results on this page.

size?integer

Page size that was applied.

truncated?boolean

True when more items exist beyond this page.

Fundamentals

Fundamentals Metrics

fundamentalsMetrics

List fundamentals metric ids. Filters are optional: category, subcategory, metric_data_type (float, integer, string), pit_data_items (default false = non-PIT). Each item has metric, name, category, subcategory, base_code, is_pit, is_non_pit, description, data_type, factor, formula, layer. Categories with metrics today: INCOME_STATEMENT, BALANCE_SHEET, CASH_FLOW, RATIOS, MARKET_DATA, MISCELLANEOUS. Current metrics are all non-PIT. Call this before fundamentals. For standardized income, balance, and cash-flow tables use financialsIncome, financialsBalance, financialsCashFlow.

Arguments

category?INCOME_STATEMENT | BALANCE_SHEET | CASH_FLOW | RATIOS | MARKET_DATA | MISCELLANEOUSe.g. RATIOS

INCOME_STATEMENT, BALANCE_SHEET, CASH_FLOW, RATIOS, MARKET_DATA, or MISCELLANEOUS. Omit to return every category. See Fundamentals Overview.

subcategory?stringe.g. LIQUIDITY

Sub-category that currently has metrics. Can be used without category. See Fundamentals Overview.

metric_data_type?float | integer | string

float, integer, or string. Omit to return every type.

pit_data_items?booleane.g. false

true returns metrics available in point-in-time datasets. false (default) returns non-PIT period-end metrics.

Response

Fundamentals metric catalog, optionally filtered by category, subcategory, data type, and PIT.

category?string

Echo of the category filter, or null when omitted.

subcategory?string

Echo of the subcategory filter, or null when omitted.

metric_data_type?string

Echo of the data-type filter, or null when omitted.

pit_data_items?boolean

Echo of the PIT filter. false when omitted.

count?integer

Number of metrics in this response.

categories?array<string>

Categories that currently have at least one metric, in taxonomy order.

subcategories?array<string>

Subcategories that currently have at least one metric, in taxonomy order.

metrics?

Metrics matching the filters, or every metric when filters are omitted.

Fundamentals

fundamentals

Fetch fundamentals values for one company. Required: id (same resolve as entitiesResolve: ticker AAPL / AAPL US / AAPL-US, CIK, LEI, EDINET, CRD, series id, internal id, FIGI, composite FIGI, share-class FIGI; ISIN and CUSIP match but are never returned) and metrics (array of ids from fundamentalsMetrics, max 80). periodicity defaults to [fy]; you may pass fy,quarter,ttm together, but not daily mixed with fiscal periods. Optional period_start, period_end (YYYY-MM-DD), limit (latest N), currency (ISO code; omit to keep reporting currency; latest warehouse spot via USD cross), growth (none, period, or yoy). Response is period rows with a values map keyed by metric id. Unknown metric ids are 400. Unresolved id is 404. For full income/balance/cash-flow tables use financialsIncome, financialsBalance, financialsCashFlow.

Arguments

id*stringe.g. AAPL

Company or listing id. Same resolve as Entity Reference: ticker (AAPL, AAPL US, AAPL-US), CIK, LEI, EDINET code, CRD, SEC series id, internal id, FIGI, composite FIGI, and share-class FIGI. ISIN and CUSIP match but are never returned. See Ids you can send.

metrics*string[]

Metric ids from Fundamentals Metrics. Comma-separated on GET (metrics=revenue,currentRatio). Maximum 80.

periodicity?fy | quarter | ttm | daily[]

fy, quarter, ttm, and/or daily. Default fy. You may combine fy, quarter, and ttm. daily cannot mix with fiscal periods.

period_start?string

Inclusive period-end start (YYYY-MM-DD). Falls back to periods on or after this date.

period_end?string

Inclusive period-end end (YYYY-MM-DD). Falls back to periods on or before this date.

limit?integere.g. 4

Latest N periods after the date filter. Omit for all matching periods up to 100 fiscal or 252 daily.

currency?string

ISO 4217 code (USD, EUR, CAD). Case-insensitive. Latest warehouse spot; crosses that are not a listed pair convert via USD. See Forex.

growth?none | period | yoye.g. none

none, period, or yoy. Default none. period is adjacent percent change. yoy is the same fiscal period in the prior year.

Response

Resolved identity, requested metrics, and one observation per period.

id?string

Echo of the id you sent, after normalize.

entity?

Subset of the Entity item (names, tickers, profile link, cik, lei). Echoed on Entity Securities, Entity Structure, Fundamentals, and Financials as a resolve receipt — not a second company object. See The Entity item.

periodicity?array<string>

fy, quarter, ttm, and/or daily that were applied.

period_start?string

Echo of period_start, or null.

period_end?string

Echo of period_end, or null.

limit?integer

Echo of limit, or null when omitted (full available history up to the cap).

growth?string

none, period, or yoy that was applied.

currency?

Requested display currency plus reporting and trading legs. Omit currency on the request to keep reporting amounts as stored.

metrics?

Catalog rows for the requested ids, in request order.

count?integer

Number of period observations.

data?

Period observations, oldest to newest, tagged with periodicity.

Financials

Financials Metrics

financialsMetrics

List standardized financial statement line ids. Optional statement=income, balance, or cashflow. Each item has metric, name, parent, level, sign, row_type, include_when. Call this before financialsIncome, financialsBalance, or financialsCashFlow. Ids match fundamentalsMetrics for statement lines.

Arguments

statement?income | balance | cashflowe.g. income

income, balance, or cashflow. Omit for all three.

Response

Standardized statement layout, optionally filtered by statement.

statement?string

Echo of the statement filter, or null when omitted.

count?integer

Number of lines in this response.

metrics?

Statement lines in display order.

Income Statement

financialsIncome

Get the standardized income statement. Required id (same resolve as entitiesResolve). periodicity=fy|quarter|ttm (default fy). include_ltm=true only with fy. Optional period_start, period_end, limit, currency (ISO; omit for reporting; latest warehouse spot), growth=none|period|yoy. columns include filing (slim Document: document_id, filing_id, source, filing_type, backlink_url, source_document_url, source_filing_url) and filing_match (exact, date, heuristic, or none) for statement forms only. Pass filing.document_id to documentsGet as id. LTM and TTM are filing_match none. Line ids match financialsMetrics. Unresolved id is 404.

Arguments

id*stringe.g. AAPL

Company or listing id. Same resolve as Entity Reference: ticker (AAPL, AAPL US, AAPL-US), CIK, LEI, EDINET code, CRD, SEC series id, internal id, FIGI, composite FIGI, and share-class FIGI. ISIN and CUSIP match but are never returned. See Ids you can send.

periodicity?fy | quarter | ttme.g. fy

fy, quarter, or ttm. Default fy. fy is fiscal year, quarter is Q1-Q4, ttm is last twelve months.

include_ltm?booleane.g. false

When periodicity=fy, append a Last-12M column if it is not the same as the latest FY. Ignored (400) on quarter or ttm.

period_start?string

Inclusive period-end start (YYYY-MM-DD).

period_end?string

Inclusive period-end end (YYYY-MM-DD).

limit?integere.g. 4

Latest N periods after the date filter. Omit for all matching periods up to 100.

currency?string

ISO 4217 code (USD, EUR, CAD). Case-insensitive. Latest warehouse spot; crosses that are not a listed pair convert via USD. See Forex.

growth?none | period | yoye.g. none

none, period, or yoy. Default none. period is adjacent percent change. yoy is the same fiscal period in the prior year.

Response

Standardized income statement table: period columns and nested line rows.

id?string

Echo of the id you sent, after normalize.

entity?

Subset of the Entity item (names, tickers, profile link, cik, lei). Echoed on Entity Securities, Entity Structure, Fundamentals, and Financials as a resolve receipt — not a second company object. See The Entity item.

statement?string

Always income.

periodicity?string

fy, quarter, or ttm that was applied.

include_ltm?boolean

True when a Last-12M column was appended.

period_start?string

Echo of period_start, or null.

period_end?string

Echo of period_end, or null.

limit?integer

Echo of limit, or null when omitted.

growth?string

none, period, or yoy that was applied.

currency?

Requested display currency plus reporting and trading legs. Omit currency on the request to keep reporting amounts as stored.

count?integer

Number of period columns.

columns?

Period columns, oldest to newest.

rows?

Statement lines in display order. values[i] matches columns[i].

Balance Sheet

financialsBalance

Get the standardized balance sheet. Required id (same resolve as entitiesResolve). periodicity=fy|quarter|ttm (default fy). include_ltm=true only with fy. Optional period_start, period_end, limit, currency, growth=none|period|yoy. columns include filing and filing_match (exact, date, heuristic, or none). Pass filing.document_id to documentsGet as id. Line ids match financialsMetrics. Unresolved id is 404.

Arguments

id*stringe.g. AAPL

Company or listing id. Same resolve as Entity Reference: ticker (AAPL, AAPL US, AAPL-US), CIK, LEI, EDINET code, CRD, SEC series id, internal id, FIGI, composite FIGI, and share-class FIGI. ISIN and CUSIP match but are never returned. See Ids you can send.

periodicity?fy | quarter | ttme.g. fy

fy, quarter, or ttm. Default fy. fy is fiscal year, quarter is Q1-Q4, ttm is last twelve months.

include_ltm?booleane.g. false

When periodicity=fy, append a Last-12M column if it is not the same as the latest FY.

period_start?string

Inclusive period-end start (YYYY-MM-DD).

period_end?string

Inclusive period-end end (YYYY-MM-DD).

limit?integere.g. 4

Latest N periods after the date filter. Omit for all matching periods up to 100.

currency?string

ISO 4217 code (USD, EUR, CAD). Case-insensitive. Latest warehouse spot; crosses that are not a listed pair convert via USD. See Forex.

growth?none | period | yoye.g. none

none, period, or yoy. Default none. period is adjacent percent change. yoy is the same fiscal period in the prior year.

Response

Standardized balance sheet table: period columns and nested line rows.

id?string

Echo of the id you sent, after normalize.

entity?

Subset of the Entity item (names, tickers, profile link, cik, lei). Echoed on Entity Securities, Entity Structure, Fundamentals, and Financials as a resolve receipt — not a second company object. See The Entity item.

statement?string

Always balance.

periodicity?string

fy, quarter, or ttm that was applied.

include_ltm?boolean

True when a Last-12M column was appended.

period_start?string

Echo of period_start, or null.

period_end?string

Echo of period_end, or null.

limit?integer

Echo of limit, or null when omitted.

growth?string

none, period, or yoy that was applied.

currency?

Requested display currency plus reporting and trading legs. Omit currency on the request to keep reporting amounts as stored.

count?integer

Number of period columns.

columns?

Period columns, oldest to newest.

rows?

Statement lines in display order. values[i] matches columns[i].

Cash Flow Statement

financialsCashFlow

Get the standardized cash-flow statement. Required id (same resolve as entitiesResolve). periodicity=fy|quarter|ttm (default fy). include_ltm=true only with fy. Optional period_start, period_end, limit, currency, growth=none|period|yoy. columns include filing and filing_match (exact, date, heuristic, or none). Cash-flow net income is cashflowNetIncome. Unresolved id is 404.

Arguments

id*stringe.g. AAPL

Company or listing id. Same resolve as Entity Reference: ticker (AAPL, AAPL US, AAPL-US), CIK, LEI, EDINET code, CRD, SEC series id, internal id, FIGI, composite FIGI, and share-class FIGI. ISIN and CUSIP match but are never returned. See Ids you can send.

periodicity?fy | quarter | ttme.g. fy

fy, quarter, or ttm. Default fy. fy is fiscal year, quarter is Q1-Q4, ttm is last twelve months.

include_ltm?booleane.g. false

When periodicity=fy, append a Last-12M column if it is not the same as the latest FY.

period_start?string

Inclusive period-end start (YYYY-MM-DD).

period_end?string

Inclusive period-end end (YYYY-MM-DD).

limit?integere.g. 4

Latest N periods after the date filter. Omit for all matching periods up to 100.

currency?string

ISO 4217 code (USD, EUR, CAD). Case-insensitive. Latest warehouse spot; crosses that are not a listed pair convert via USD. See Forex.

growth?none | period | yoye.g. none

none, period, or yoy. Default none. period is adjacent percent change. yoy is the same fiscal period in the prior year.

Response

Standardized cash-flow statement table: period columns and nested line rows.

id?string

Echo of the id you sent, after normalize.

entity?

Subset of the Entity item (names, tickers, profile link, cik, lei). Echoed on Entity Securities, Entity Structure, Fundamentals, and Financials as a resolve receipt — not a second company object. See The Entity item.

statement?string

Always cashflow.

periodicity?string

fy, quarter, or ttm that was applied.

include_ltm?boolean

True when a Last-12M column was appended.

period_start?string

Echo of period_start, or null.

period_end?string

Echo of period_end, or null.

limit?integer

Echo of limit, or null when omitted.

growth?string

none, period, or yoy that was applied.

currency?

Requested display currency plus reporting and trading legs. Omit currency on the request to keep reporting amounts as stored.

count?integer

Number of period columns.

columns?

Period columns, oldest to newest.

rows?

Statement lines in display order. values[i] matches columns[i].

Revenue Segments

financialsRevenueSegments

Product and geography revenue for one company. Required id (same resolve as entitiesResolve). periodicity is fy or quarter; omit it for both annual and quarterly columns. Each result has period (FY, Q1, Q2, Q3, Q4), fiscal_year, currency (ISO code of the amounts), date (period end), and period_start. filing.source_document_url is the SEC exhibit. product and geography are null when that cut does not tie. A negative client incentive or elimination is included when the other lines need it. Members are never mixed across currencies. Year-to-date columns are not quarters. Operating segments are not geography. Issuers without a SEC CIK are 404. Pass filing.document_id to documentsGet as id.

Arguments

id*stringe.g. AAPL

Company or listing id. Same resolve as Entity Reference: ticker (AAPL, AAPL US, AAPL-US), CIK, LEI, EDINET code, CRD, SEC series id, internal id, FIGI, composite FIGI, and share-class FIGI. ISIN and CUSIP match but are never returned. See Ids you can send.

periodicity?fy | quarter

fy or quarter. Omit for both.

Response

Tied product and geography cuts, newest period end first.

id?string

Echo of the id you sent, after normalize.

entity?

The Entity item: one catalog row at security grain (a company listing, ETF or fund share class, person, or private company). Same object on Entity Search, Entity Reference, and later groups that attach companies (Documents entities[]). Rows are not grouped by issuer. ISINs and CUSIPs are never included. See The Entity item.

periodicity?string

Echo of periodicity. Null when both durations were returned.

Value in

  • "fy"
  • "quarter"
count?integer

Number of periods in this response.

results?

Periods, newest date first.

XBRL

XBRL Concepts

xbrlConcepts

List XBRL tags this filer used on recent statement filings (10-K, 10-Q, 20-F, 40-F). Required id (same resolve as entitiesResolve). Optional q substring (Revenue, us-gaap:NetIncome). Optional accession. consolidated defaults true. Issuers without a SEC CIK are 404. Call this before xbrlSearch so you pass real concept ids. Then xbrlSearch or xbrlGet, then documentsGet with filing.document_id as id.

Arguments

id*stringe.g. AAPL

Company or listing id. Same resolve as Entity Reference: ticker (AAPL, AAPL US, AAPL-US), CIK, LEI, EDINET code, CRD, SEC series id, internal id, FIGI, composite FIGI, and share-class FIGI. ISIN and CUSIP match but are never returned. See Ids you can send.

q?stringe.g. Revenue

Substring match on the prefixed tag (Revenue, us-gaap:NetIncome). Omit to list recent tags.

accession?string

SEC accession or Document id. Omit to scan recent statement filings.

consolidated?booleane.g. true

true (default) keeps facts with no dimensions. false includes segments.

limit?integere.g. 50

Maximum tags. Default 50. Maximum 200.

Response

Tags this filer used, newest period_end first.

id?string

Echo of the id you sent, after normalize.

entity?

Subset of the Entity item (names, tickers, profile link, cik, lei). Echoed on Entity Securities, Entity Structure, Fundamentals, and Financials as a resolve receipt — not a second company object. See The Entity item.

q?string

Echo of q, or null.

accession?string

Echo of the accession filter, or null.

consolidated?boolean

Echo of consolidated.

count?integer

Number of tags in this response.

concepts?

Tags in recency order.

XBRL Search

xbrlSearch

Search SEC XBRL facts for one company. Required id (same resolve as entitiesResolve). Pass concepts (array of tags from xbrlConcepts, max 20), q (substring resolved against recent statement filings), or accession. Default period_start is five years ago unless you pass accession or period_start. period_end is inclusive. period_type is duration, instant, or all (default all). consolidated defaults true. limit default 50, cap 200. Issuers without a SEC CIK are 404. Response results are XbrlFact items with filing (document_id, filing_id, backlink_url, source_document_url, source_filing_url). Pass filing.document_id to documentsGet or xbrlGet as id.

Arguments

id*stringe.g. AAPL

Company or listing id. Same resolve as Entity Reference: ticker (AAPL, AAPL US, AAPL-US), CIK, LEI, EDINET code, CRD, SEC series id, internal id, FIGI, composite FIGI, and share-class FIGI. ISIN and CUSIP match but are never returned. See Ids you can send.

concepts?string[]

Prefixed tags from XBRL Concepts. Comma-separated on GET. Maximum 20. Required unless q or accession is set.

q?string

Substring used to resolve tags on recent statement filings when concepts is omitted.

accession?string

SEC accession or Document id. Restricts facts to that filing.

period_start?string

Inclusive period_end start (YYYY-MM-DD). Default five years ago unless accession is set.

period_end?string

Inclusive period_end end (YYYY-MM-DD).

period_type?duration | instant | alle.g. all

duration, instant, or all. Default all. duration is income and cash flow. instant is balance.

consolidated?booleane.g. true

true (default) keeps facts with no dimensions. false includes segments.

limit?integere.g. 50

Maximum facts. Default 50. Maximum 200.

Response

A page of XBRL facts, newest period_end first.

id?string

Echo of the id you sent, after normalize.

entity?

Subset of the Entity item (names, tickers, profile link, cik, lei). Echoed on Entity Securities, Entity Structure, Fundamentals, and Financials as a resolve receipt — not a second company object. See The Entity item.

q?string

Echo of q, or null.

concepts?array<string>

Tags that were queried after resolving q.

accession?string

Echo of the accession filter, or null.

period_start?string

Inclusive lower bound on period_end (YYYY-MM-DD). Null when omitted.

period_end?string

Echo of period_end, or null.

consolidated?boolean

Echo of consolidated.

count?integer

Number of facts in this response.

results?

Facts, newest period_end first.

XBRL Filing Facts

xbrlGet

All consolidated XBRL facts for one SEC filing. Required id is a documentsGet document_id, SEC accession, or accession|chunk. Optional q or concepts to slice. period_type is duration, instant, or all. consolidated defaults true. include_footnotes=true adds footnotes[]. limit default 500, cap 2000. truncated is true when the cap was hit. Response is { document_id, filing, results }. A miss is 404.

Arguments

id*stringe.g. 0000320193-23-000106

Document or filing id. SEC accession, accession|chunk, exhibit document_id, EDINET internal filing id or document_id, or an uploaded file id from Document Search. See The Document item.

q?string

Substring used to resolve tags in this filing when concepts is omitted.

concepts?string[]

Prefixed tags. Comma-separated on GET. Maximum 20.

period_end?string

Inclusive period_end end (YYYY-MM-DD).

period_type?duration | instant | alle.g. all

duration, instant, or all. Default all.

consolidated?booleane.g. true

true (default) keeps facts with no dimensions. false includes segments.

include_footnotes?booleane.g. false

true adds footnotes on each fact from the footnote table.

limit?integere.g. 500

Maximum facts. Default 500. Maximum 2000.

Response

Facts from one SEC filing.

document_id?string

SEC accession that was looked up.

filing?

Slim Document for this filing.

q?string

Echo of q, or null.

concepts?array<string>

Tags that were queried after resolving q.

consolidated?boolean

Echo of consolidated.

truncated?boolean

True when the fact cap was hit.

count?integer

Number of facts in this response.

results?

Facts, newest period_end first.

Screener

Screener

screener

Screen the fundamental universe. First call screenerMetrics to get metric ids, then call screener with conditions and fields. A condition is {field, operator, values}. Numeric operators: over, over_eq, under, under_eq, between, exactly, not_exactly, zero, not_zero, has_data, percentile, rank, percent_total. Keyword: exactly. Boolean: true/false. Dates: over/under/between/exactly. Defaults: universe=equity, primary_only=true, actively_trading=true, size=20, sort_by=marketCap_usd desc. Return fields are metric ids (display_ticker, display_name_short, marketCap_usd, PE). ISINs are never returned. Pass display_ticker to entitiesResolve.

Arguments

conditions?object[]

Filters to AND together. Each item is a metric id, an operator, and values. Unknown ids are an error. See Screener Overview.

field*string

Metric id from Screener Metrics (marketCap_usd, PE, ttmRevenue_usd).

operator*string

over, over_eq, under, under_eq, between, exactly, not_exactly, not_zero, zero, has_data, display_only, percentile, rank, percent_total, true, or false. See Screener Overview for which operators each type accepts.

values?string | number | boolean[]

Comparison values. over/under/exactly need one value. between needs two.

fields?string[]

Metric ids to return on each row. Omit to get ticker, short name, exchange, USD market cap, and GICS sector. Maximum 40.

universe?equity | etf | fund | person | private_company | securitiese.g. equity

equity, etf, fund, person, private_company, or securities. Default equity. equity is operating companies. securities is equity+ETF+fund. See Screener Overview.

primary_only?booleane.g. true

true returns one row per issuer or fund series (the primary listing). false returns every share class and venue line.

actively_trading?booleane.g. true

true keeps listings treated as actively trading. Pass false to include inactive lines.

page?integere.g. 1

1-based page index.

size?integere.g. 20

Page size. Maximum 100.

sort_by?stringe.g. marketCap_usd

Metric id to sort by. Must be sortable (see Screener Metrics).

sort_order?asc | desce.g. desc

asc or desc. Default desc.

Response

A page of screened rows plus the filters that were applied.

universe?string

Universe that was applied.

primary_only?boolean

Whether the primary-only grain was applied.

actively_trading?boolean

Whether the actively-trading filter was applied.

page?integer

1-based page index that was applied.

size?integer

Page size that was applied.

total?integer

Rows matching the filters.

total_pages?integer

Number of pages at this size.

has_next?boolean

True when another page exists.

has_prev?boolean

True when this is not the first page.

sort_by?string

Metric id used for sort.

sort_order?string

Sort direction.

fields?array<string>

Metric ids returned on each row.

conditions?

Filters that were applied after defaults and validation, not including universe/primary virtual fields.

results?

Matching rows at security or entity grain, depending on primary_only.

Screener Metrics

screenerMetrics

List screener metric ids. Call this before screener. Optional filters combine: category is a slug, query searches id, display name, and category. Omit both to receive every metric. category is one of entity_attributes (Entity Attributes), entity_info (Entity Info), security_info (Security Info), price_and_volume (Price & Volume), income_statement (Income Statement), balance_sheet (Balance Sheet), cash_flow_statement (Cash Flow Statement), financial_ratios (Financial Ratios), key_metrics (Key Metrics), shares_and_float (Shares & Float), dividends_and_buybacks (Dividends & Buybacks), analyst_estimates (Analyst Estimates), technical (Technical), other (Other). query examples: marketCap, P/E, revenue. Each item is one flat metric id (revenue, ttmRevenue, and revenue_usd are separate ids). Fields: id, name, type, categories, operators, options, sortable, filterable, filter_only. Use id as conditions[].field or as a return field. ISINs are omitted.

Arguments

query?stringe.g. marketCap

Optional case-insensitive search over metric id, name, and category. Combines with category. Omit to skip text search.

category?string

Picker group slug. entity_attributes (Entity Attributes), entity_info (Entity Info), security_info (Security Info), price_and_volume (Price & Volume), income_statement (Income Statement), balance_sheet (Balance Sheet), cash_flow_statement (Cash Flow Statement), financial_ratios (Financial Ratios), key_metrics (Key Metrics), shares_and_float (Shares & Float), dividends_and_buybacks (Dividends & Buybacks), analyst_estimates (Analyst Estimates), technical (Technical), or other (Other). Omit to return every category. Combines with query.

Response

Metric catalog. category and query narrow the same flat list; both are null when omitted.

query?string

Echo of the search text, or null when omitted.

category?string

Echo of the category slug, or null when omitted.

count?integer

Number of metrics in this response.

categories?array<string>

Every category slug you can pass as category, in picker order.

metrics?

Metrics matching category and query, or every public metric when both are omitted.

Time Series

Time Series Metrics

timeseriesMetrics

List chart series ids. Call this before timeseries. With no query and no category, the response is category ids and counts. Pass query, category, or both for a page (default 20, max 50). category is one of entity_attributes, entity_info, security_info, price_and_volume, income_statement, balance_sheet, cash_flow_statement, financial_ratios, key_metrics, shares_and_float, dividends_and_buybacks, analyst_estimates, technical, other. Each item has id, name, category, and grain. Pass id as series on timeseries. Do not invent ids.

Arguments

query?stringe.g. revenue

Case-insensitive search over series id and name. Combines with category. Omit to skip text search.

category?stringe.g. income_statement

Picker group slug. entity_attributes, entity_info, security_info, price_and_volume, income_statement, balance_sheet, cash_flow_statement, financial_ratios, key_metrics, shares_and_float, dividends_and_buybacks, analyst_estimates, technical, or other. Omit to return every category. Combines with query.

limit?integere.g. 20

Page size when query or category is set. Default 20. Maximum 50.

offset?integere.g. 0

Number of matching series to skip. Default 0.

Response

Series catalog. With no query and no category, metrics is empty and categories lists every group.

query?string

Search text, or null when omitted.

category?string

Category slug, or null when omitted.

count?integer

Number of series matching query and category. Zero when both are omitted.

limit?integer

Page size applied to metrics.

offset?integer

Number of matches skipped.

categories?

Every category that has at least one series, in picker order.

metrics?

Matching series for this page. Empty when query and category are both omitted.

Time Series

timeseries

Fetch dated points for companies. Required: ids (same resolve as entitiesResolve: ticker AAPL / AAPL US / AAPL-US, CIK, LEI, EDINET, CRD, series id, internal id, FIGI, composite FIGI, share-class FIGI; ISIN and CUSIP match but are never returned; max 8) and series (ids from timeseriesMetrics, max 8). range defaults to 5Y and is one of 3M, 1Y, 3Y, 5Y, 10Y, ALL. from and to are YYYY-MM-DD and replace range when either is set. Each result is {id, series, points: [{date, value}]}. Empty points means that pair has no values in the window. Unresolved ids are listed in unresolved and are not an error. Unknown series ids are 400. Values stay in the stored currency. Do not invent series ids.

Arguments

ids*string[]

Company ids. Same ids as Entity Reference. Comma-separated on GET. Maximum 8.

series*string[]

Series ids from Time Series Metrics. Comma-separated on GET (series=revenue__annual,close__daily). Maximum 8.

range?3M | 1Y | 3Y | 5Y | 10Y | ALLe.g. 5Y

Lookback. 3M, 1Y, 3Y, 5Y, 10Y, or ALL. Default 5Y. Ignored when from or to is set.

from?string

Inclusive start date, YYYY-MM-DD. Replaces range when set. Either side may be omitted.

to?string

Inclusive end date, YYYY-MM-DD. Replaces range when set. Either side may be omitted.

Response

Resolved companies, the series requested, and one result per company and series.

range?string

Lookback that was applied, or null when from or to was set.

from?string

Requested start date, or null when range was used or from was omitted.

to?string

Requested end date, or null when range was used or to was omitted.

entities?

Companies that resolved. id is the id you sent.

unresolved?array<string>

Ids that did not resolve.

series?

Series that were requested, in request order.

results?

One row per resolved company and series. points is empty when that pair has no values in the window.

Forex

Forex Currencies

forexCurrencies

List ISO currency codes implied by listed forex pairs. No parameters. Use a code as forexQuotes base/quote, forexConvert from_currency/to_currency, or fundamentals/financials currency. Latest warehouse spots only — there is no historical period-end FX book.

Arguments

No arguments.

Response

ISO codes present on listed pairs, sorted.

count?integer

Number of currency codes.

currencies?array<string>

ISO 4217 codes (USD, EUR, CAD), plus metals or other codes that appear on listed pairs.

Forex Quotes

forexQuotes

Latest forex spots from the warehouse. Optional pairs (array of EURUSD / EUR/USD). Unknown pairs are 404. Optional base and quote (ISO) filter when pairs is omitted. limit defaults to 50, cap 500. Each quote has pair, base, quote, price (quote per one base), change, volume, as_of. Not historical, not forwards.

Arguments

pairs?string[]

Listed pairs (EURUSD, EUR/USD). Comma-separated on GET. Omit to page latest quotes.

base?string

ISO 4217 code (USD, EUR, CAD). Case-insensitive. Latest warehouse spot; crosses that are not a listed pair convert via USD. See Forex.

quote?string

ISO 4217 code (USD, EUR, CAD). Case-insensitive. Latest warehouse spot; crosses that are not a listed pair convert via USD. See Forex.

limit?integere.g. 50

Page size when pairs is omitted. Default 50, maximum 500. Ignored when pairs is set.

Response

Latest spots for the selected pairs or a page of listed pairs.

pairs?array<string>

Echo of requested pairs, or null when paging the book.

base?string

Echo of the base filter, or null.

quote?string

Echo of the quote filter, or null.

limit?integer

Page size that was applied, or null when pairs was set.

count?integer

Number of quotes returned.

quotes?

Latest spots, sorted by pair.

Forex Convert

forexConvert

Convert amount (default 1) from from_currency to to_currency. ISO codes, case-insensitive. Uses a listed pair or inverse when present, otherwise a USD cross (via=USD). Same currency returns rate 1. No listed path is 404. Latest warehouse spot only — not historical.

Arguments

from_currency*stringe.g. EUR

ISO 4217 code (USD, EUR, CAD). Case-insensitive. Latest warehouse spot; crosses that are not a listed pair convert via USD. See Forex.

to_currency*stringe.g. USD

ISO 4217 code (USD, EUR, CAD). Case-insensitive. Latest warehouse spot; crosses that are not a listed pair convert via USD. See Forex.

amount?numbere.g. 1

Amount in from_currency. Default 1.

Response

Converted amount at the latest warehouse spot.

from_currency?string

ISO code after normalize.

to_currency?string

ISO code after normalize.

amount?number

Amount that was converted.

rate?number

to_currency per one from_currency.

value?number

amount times rate.

pair?string

Listed pair used when a direct or inverse quote exists.

via?string

USD when the rate is a USD cross. Null for a listed pair or identical codes.

as_of?string

Warehouse version timestamp of the quotes used.

Watchlists

Watchlists

watchlists

List watchlists for the signed-in user, including organization lists they can see. Each row has watchlist_id, name, description, is_favourite, updated_at, entity_count, and shared. Pass watchlist_id to watchlistEntities or watchlistsUpdate. page starts at 1. size default 50, max 100. This does not create a watchlist.

Arguments

page?integere.g. 1

1-indexed page. Default 1.

size?integere.g. 50

Page size. Default 50. Maximum 100.

Response

One page of watchlists, newest update first.

count?integer

Watchlists the caller can see.

page?integer

Page that was returned.

size?integer

Page size that was applied.

truncated?boolean

True when more watchlists exist beyond this page.

results?

Watchlists on this page.

Watchlist Entities

watchlistEntities

Read one page of companies on a watchlist. watchlist_id comes from watchlists. page starts at 1. size default 20, max 25, because each row is resolved. Each result id is a catalog id (AAPL US, a CIK, a LEI). Pass that id to entities, documents, financials, or watchlistsUpdate remove. entity is the Entity item, the same object as entitiesResolve, with resolved true. When the row no longer resolves, id is still returned and entity is omitted.

Arguments

watchlist_id*string

Watchlist id from Watchlists.

page?integere.g. 1

1-indexed page. Default 1. Newest additions first.

size?integere.g. 20

Companies on this page. Default 20. Maximum 25.

Response

One page of companies on the watchlist.

watchlist_id?string

Watchlist that was read.

name?string

Watchlist name.

count?integer

Companies on the watchlist.

page?integer

Page that was returned.

size?integer

Page size that was applied.

truncated?boolean

True when more companies exist beyond this page.

results?

Companies on this page, newest first.

Update Watchlist

watchlistsUpdate

Add and/or remove companies on one watchlist. watchlist_id comes from watchlists. add and remove take the same ids as Entity Reference: ticker (AAPL, AAPL US), CIK, LEI, EDINET code, FIGI. At most 20 ids in each list. Pass at least one of add or remove. remove runs first, then add, so an id in both lists ends on the watchlist. Ids that do not resolve are returned in unresolved and are not stored. Adding a company already on the list keeps it and still returns it in added.

Arguments

watchlist_id*string

Watchlist id from Watchlists.

add?string[]

Catalog ids to add. Same ids as Entity Reference. At most 20. Optional when remove is set.

remove?string[]

Catalog ids to remove. Same ids as Entity Reference, or the id returned by Watchlist Entities. At most 20. Optional when add is set.

Response

What was added, what was removed, and ids that did not resolve.

watchlist_id?string

Watchlist that was updated.

added?

Companies requested in add that resolved. Includes companies that were already on the list.

removed?

Companies requested in remove that were on the list.

unresolved?array<string>

Ids that did not match a catalog row, or a remove id that was not on the list and did not resolve.

Coverage

Entity Coverage

coverageEntities

Coverage of the entity catalog. Listings by category, top venues, and how often CIK, LEI, FIGI, and EDINET code are present. No arguments. Not a price tape. ISIN and CUSIP are never returned.

Arguments

No arguments.

Response

Coverage of one endpoint group. Stats, charts, tables, and notes. Built by the coverage pipeline. The request does not scan the warehouse.

group?string

Group id. entities, sec-filings, edinet-filings, fundamentals, financials, xbrl, screener, timeseries, or forex.

title?string

Group title.

description?string

What this bundle is for.

as_of?string

When warehouse totals in this bundle were built. Null when the bundle is catalog-only.

pipeline?string

How the numbers are produced, and what the request does not do.

source?string

System of record for the counts.

span?

When the dated history starts. The corpus continues through the latest filing, so no end date is pinned.

stats?

Headline numbers.

charts?

Distributions. Points are label plus value.

tables?

Lists that do not fit a chart.

notes?

Nuance a buyer needs before treating a count as the whole corpus.

SEC Filing Coverage

coverageSecFilings

Coverage of the SEC filing index. Filings, documents, chunks, the entities they name, and the year the history starts. No arguments. Live and backfill use the same parser.

Arguments

No arguments.

Response

Coverage of one endpoint group. Stats, charts, tables, and notes. Built by the coverage pipeline. The request does not scan the warehouse.

group?string

Group id. entities, sec-filings, edinet-filings, fundamentals, financials, xbrl, screener, timeseries, or forex.

title?string

Group title.

description?string

What this bundle is for.

as_of?string

When warehouse totals in this bundle were built. Null when the bundle is catalog-only.

pipeline?string

How the numbers are produced, and what the request does not do.

source?string

System of record for the counts.

span?

When the dated history starts. The corpus continues through the latest filing, so no end date is pinned.

stats?

Headline numbers.

charts?

Distributions. Points are label plus value.

tables?

Lists that do not fit a chart.

notes?

Nuance a buyer needs before treating a count as the whole corpus.

EDINET Coverage

coverageEdinetFilings

Coverage of translated EDINET filings. Filings, documents, chunks, the companies they name, and the year the history starts. No arguments. Calls require Japan access.

Arguments

No arguments.

Response

Coverage of one endpoint group. Stats, charts, tables, and notes. Built by the coverage pipeline. The request does not scan the warehouse.

group?string

Group id. entities, sec-filings, edinet-filings, fundamentals, financials, xbrl, screener, timeseries, or forex.

title?string

Group title.

description?string

What this bundle is for.

as_of?string

When warehouse totals in this bundle were built. Null when the bundle is catalog-only.

pipeline?string

How the numbers are produced, and what the request does not do.

source?string

System of record for the counts.

span?

When the dated history starts. The corpus continues through the latest filing, so no end date is pinned.

stats?

Headline numbers.

charts?

Distributions. Points are label plus value.

tables?

Lists that do not fit a chart.

notes?

Nuance a buyer needs before treating a count as the whole corpus.

Fundamentals Coverage

coverageFundamentals

Coverage of the fundamentals metric catalog. How many metrics each category publishes, and how many are point-in-time. No arguments. This is the catalog, not one company's history.

Arguments

No arguments.

Response

Coverage of one endpoint group. Stats, charts, tables, and notes. Built by the coverage pipeline. The request does not scan the warehouse.

group?string

Group id. entities, sec-filings, edinet-filings, fundamentals, financials, xbrl, screener, timeseries, or forex.

title?string

Group title.

description?string

What this bundle is for.

as_of?string

When warehouse totals in this bundle were built. Null when the bundle is catalog-only.

pipeline?string

How the numbers are produced, and what the request does not do.

source?string

System of record for the counts.

span?

When the dated history starts. The corpus continues through the latest filing, so no end date is pinned.

stats?

Headline numbers.

charts?

Distributions. Points are label plus value.

tables?

Lists that do not fit a chart.

notes?

Nuance a buyer needs before treating a count as the whole corpus.

Financials Coverage

coverageFinancials

Coverage of standardized financial statements. How many lines each statement publishes. No arguments. Annual, quarterly, or trailing twelve months. Revenue segments are an XBRL tie, not a fourth statement.

Arguments

No arguments.

Response

Coverage of one endpoint group. Stats, charts, tables, and notes. Built by the coverage pipeline. The request does not scan the warehouse.

group?string

Group id. entities, sec-filings, edinet-filings, fundamentals, financials, xbrl, screener, timeseries, or forex.

title?string

Group title.

description?string

What this bundle is for.

as_of?string

When warehouse totals in this bundle were built. Null when the bundle is catalog-only.

pipeline?string

How the numbers are produced, and what the request does not do.

source?string

System of record for the counts.

span?

When the dated history starts. The corpus continues through the latest filing, so no end date is pinned.

stats?

Headline numbers.

charts?

Distributions. Points are label plus value.

tables?

Lists that do not fit a chart.

notes?

Nuance a buyer needs before treating a count as the whole corpus.

XBRL Coverage

coverageXbrl

Coverage of XBRL facts. Forms are 10-K, 10-Q, 20-F, and 40-F, plus amendments. No arguments. Concepts are per filing. This call does not scan the facts table.

Arguments

No arguments.

Response

Coverage of one endpoint group. Stats, charts, tables, and notes. Built by the coverage pipeline. The request does not scan the warehouse.

group?string

Group id. entities, sec-filings, edinet-filings, fundamentals, financials, xbrl, screener, timeseries, or forex.

title?string

Group title.

description?string

What this bundle is for.

as_of?string

When warehouse totals in this bundle were built. Null when the bundle is catalog-only.

pipeline?string

How the numbers are produced, and what the request does not do.

source?string

System of record for the counts.

span?

When the dated history starts. The corpus continues through the latest filing, so no end date is pinned.

stats?

Headline numbers.

charts?

Distributions. Points are label plus value.

tables?

Lists that do not fit a chart.

notes?

Nuance a buyer needs before treating a count as the whole corpus.

Screener Coverage

coverageScreener

Coverage of the screener field catalog. How many fields each category publishes. No arguments. A screen is the latest snapshot, not statement history.

Arguments

No arguments.

Response

Coverage of one endpoint group. Stats, charts, tables, and notes. Built by the coverage pipeline. The request does not scan the warehouse.

group?string

Group id. entities, sec-filings, edinet-filings, fundamentals, financials, xbrl, screener, timeseries, or forex.

title?string

Group title.

description?string

What this bundle is for.

as_of?string

When warehouse totals in this bundle were built. Null when the bundle is catalog-only.

pipeline?string

How the numbers are produced, and what the request does not do.

source?string

System of record for the counts.

span?

When the dated history starts. The corpus continues through the latest filing, so no end date is pinned.

stats?

Headline numbers.

charts?

Distributions. Points are label plus value.

tables?

Lists that do not fit a chart.

notes?

Nuance a buyer needs before treating a count as the whole corpus.

Time Series Coverage

coverageTimeseries

Coverage of the time series catalog. How many series each category publishes. No arguments. A fetch is up to 8 companies and 8 series. Values stay in the stored currency.

Arguments

No arguments.

Response

Coverage of one endpoint group. Stats, charts, tables, and notes. Built by the coverage pipeline. The request does not scan the warehouse.

group?string

Group id. entities, sec-filings, edinet-filings, fundamentals, financials, xbrl, screener, timeseries, or forex.

title?string

Group title.

description?string

What this bundle is for.

as_of?string

When warehouse totals in this bundle were built. Null when the bundle is catalog-only.

pipeline?string

How the numbers are produced, and what the request does not do.

source?string

System of record for the counts.

span?

When the dated history starts. The corpus continues through the latest filing, so no end date is pinned.

stats?

Headline numbers.

charts?

Distributions. Points are label plus value.

tables?

Lists that do not fit a chart.

notes?

Nuance a buyer needs before treating a count as the whole corpus.

Forex Coverage

coverageForex

Coverage of listed forex spots. No arguments. Quotes are the latest spot. Convert tries the listed pair, then the inverse, then a USD cross. No history.

Arguments

No arguments.

Response

Coverage of one endpoint group. Stats, charts, tables, and notes. Built by the coverage pipeline. The request does not scan the warehouse.

group?string

Group id. entities, sec-filings, edinet-filings, fundamentals, financials, xbrl, screener, timeseries, or forex.

title?string

Group title.

description?string

What this bundle is for.

as_of?string

When warehouse totals in this bundle were built. Null when the bundle is catalog-only.

pipeline?string

How the numbers are produced, and what the request does not do.

source?string

System of record for the counts.

span?

When the dated history starts. The corpus continues through the latest filing, so no end date is pinned.

stats?

Headline numbers.

charts?

Distributions. Points are label plus value.

tables?

Lists that do not fit a chart.

notes?

Nuance a buyer needs before treating a count as the whole corpus.