Skip to main content
Glama

Secedgar Company Search

secedgar_company_search
Read-onlyIdempotent

Find companies and retrieve entity info with optional recent filings. Entry point for most EDGAR workflows — resolves tickers, names, or CIKs to entity details, with accession numbers in the result feeding secedgar_get_filing for document content.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
queryYesCompany ticker symbol (e.g., "AAPL", "VOO"), name (e.g., "Apple"), or CIK number (e.g., "320193"). Ticker is the fastest lookup and works for equities, ETFs, and mutual funds. Name search matches current and former names.
form_typesNoFilter filings to specific form types (e.g., ["10-K", "10-Q", "8-K"]). Without this, returns all form types.
filed_afterNoOnly include filings filed on or after this date (YYYY-MM-DD). A date filter routes the scan into the older submissions archive pages, so it reaches filings that predate the ~1000-filing recent window (e.g. a company's 2005 10-K).
filed_beforeNoOnly include filings filed on or before this date (YYYY-MM-DD). Use alone or with filed_after; together they bound the archive-page scan.
filing_limitNoMaximum number of filings to return in the inline list.
include_filingsNoInclude recent filings in the response. Set to false for entity-info-only lookups.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
capNoThe `filing_limit` that was applied.
cikNoCentral Index Key, zero-padded to 10 digits.
sicNoSIC industry code.
nameNoSEC-conformed company name.
errorNoPresent when the call failed. Absent on success.
shownNoNumber of filings returned inline.
noticeNoGuidance when include_filings=true but no filings matched the form_types filter, or when filing_limit withheld some.
datasetNoCanvas dataframe holding the full filtered filing history (recent + archive pages), registered only when the scan reached beyond the recent window and the history exceeds filing_limit. Query the complete history — filings by form by year — with secedgar_dataframe_query; the inline `filings` list stays capped at filing_limit.
filingsNoRecent filings, filtered by form_types if specified.
tickersNoAssociated ticker symbols.
class_idNoSEC fund class ID (e.g. "C000092055"). Present when the query resolved via a fund ticker (ETF or mutual fund).
exchangesNoExchanges where listed.
series_idNoSEC fund series ID (e.g. "S000002839"). Present when the query resolved via a fund ticker (ETF or mutual fund).
truncatedNoTrue when more filings matched than `filing_limit` allowed into the inline list.
total_filingsNoTotal filings matching the filter across everything scanned (recent window + any archive pages), which may exceed filing_limit and the inline list.
fiscal_year_endNoFiscal year end (MM-DD format, e.g., "09-26"). Absent for filers SEC records no fiscal year end for (e.g. private or pre-IPO entities).
sic_descriptionNoHuman-readable SIC description.
state_of_incorporationNoState of incorporation (US two-letter code, e.g. "DE"). Omitted for some entities, including many foreign filers and individuals.
history_scanned_throughNoOldest filing date reached by the scan (YYYY-MM-DD). Filings older than this were not examined: the recent window caps at ~1000 filings, and older filings live in archive pages fetched only when a date filter or an under-filled form filter requires them. Absent when no filings were scanned.

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already cover readOnlyHint, openWorldHint, and idempotentHint, so the description's burden is reduced. The description adds the linkage that accession numbers in results feed secedgar_get_filing, which is useful context beyond annotations. However, it does not disclose any other behavioral traits (e.g., potential pagination, response size, or that searches may return multiple entities), leaving those to be inferred from the schema and output schema.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences with no filler. The first sentence front-loads the core purpose ('Find companies and retrieve entity info with optional recent filings'), and the second sentence adds the workflow context and linkage. Every clause earns its place, and the structure is clear and efficient.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description is complete for a tool that has a rich output schema and thorough parameter schemas. It explains the workflow linkage to secedgar_get_filing, which is the most important cross-tool context. It does not need to explain return values since the output schema exists. The only minor gap is the lack of explicit guidance on when to set include_filings to false, but that is covered in the parameter schema. Overall, nothing critical for a correct invocation is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so every parameter is thoroughly documented in the input schema. The description does not add extra meaning beyond what the schema provides—it mentions that the tool 'resolves tickers, names, or CIKs' which maps to the query parameter, but that is already in the query parameter's description. With full schema coverage, a score of 3 is the appropriate baseline; the description provides marginal added value but does not compensate for any gaps.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses specific verbs ('find', 'retrieve') and a specific resource ('companies', 'entity info'). It clearly states what the tool does: resolves tickers, names, or CIKs to entity details. It also differentiates from siblings by naming secedgar_get_filing as the downstream tool that consumes the accession numbers, which distinguishes it from secedgar_search_filings and secedgar_get_filing.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description frames this as the 'entry point for most EDGAR workflows' and explains how its results feed into secedgar_get_filing, providing clear direction on when to use it. However, it does not explicitly state when NOT to use it (e.g., for direct filing lookup without entity resolution) or mention alternatives like secedgar_search_filings. It implies the flow rather than spelling out exclusions, which is strong but not fully explicit.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

TDQS

A4.1/5.0
Disambiguation4/5

Most tools have clearly distinct purposes, with detailed descriptions that explicitly separate similar-sounding ones (e.g., secedgar_get_institutional_holdings vs secedgar_find_holders vs secedgar_get_beneficial_owners). The four ownership/holdings tools share a domain but are each tied to a different filing type and direction, so an agent reading carefully should not misselect.

Naming Consistency4/5

All tools share the secedgar_ prefix and mostly follow a get_/search_/dataframe_ convention. Minor deviations like fetch_frames, compare_companies, and find_holders break the otherwise consistent verb pattern, but the naming remains predictable and readable.

Tool Count4/5

16 tools is slightly above the typical well-scoped range, but the SEC EDGAR domain is broad enough that the count is defensible. Each tool covers a distinct data source or workflow, and the dataframe management pair adds necessary infrastructure rather than bloat.

Completeness4/5

The tool set covers company lookup, full-text filing search, XBRL concepts and frames, financial histories, comparisons, insider trades, institutional holdings, beneficial owners, fund holdings, and material events. Minor gaps exist — e.g., no explicit exhibit-content retrieval and no direct way to list all filings for a company beyond recent submissions — but core workflows are well covered.