Cross-filing joins in a single call
Track one item across several years
What has Apple said about cybersecurity governance in each of the last four 10-Ks?
One call instead of four list_filings plus four get_filing_section. It also answers a question the naive loop gets wrong: Item 1C did not exist before the SEC required it, so the honest answer for the older years is absence, and the response says which years carry the section rather than returning nothing and leaving the agent to guess why.
Recorded Apple Inc., four 10-Ks from 2022-10-28 to 2025-10-31, on 23 October 2026 against parser version 3. Responses are trimmed to the fields the example is about; elisions are marked.
cross_filing_section
Read the same item from several filings, with a per-filing budget.
Request
{
"tool": "cross_filing_section",
"arguments": {
"ticker": "AAPL",
"section": "item_1c_cybersecurity",
"lookback": 4,
"max_tokens_per_filing": 400
}
}Response
{
"data": [
{ "accession": "0000320193-25-000079", "filed_at": "2025-10-31",
"char_length": 2678, "paragraph_count": 4,
"section_token_count": 440, "is_stub": false,
"chunks": [ { "text": "The Company's management, led by its Head of
Corporate Information Security, has overall
responsibility for ...", "para_idx": 0 } ] },
{ "accession": "0000320193-24-000123", "filed_at": "2024-11-01",
"char_length": 2682, "section_token_count": 442, "is_stub": false },
{ "accession": "0000320193-23-000106", "filed_at": "2023-11-03",
"char_length": 15, "section_token_count": 3, "is_stub": true,
"chunks": [ { "text": "Not applicable.", "para_idx": 0 } ] },
{ "accession": "0000320193-22-000108", "filed_at": "2022-10-28" }
],
"meta": {
"section_name": "item_1c_cybersecurity",
"label": "Cybersecurity",
"lookback": 4, "filings_found": 4, "filings_with_section": 3,
"max_tokens_per_filing": 400, "total_token_ceiling": 40000,
"returned_tokens": 1143, "partial": true
}
}filings_found 4, filings_with_section 3. The 2023 filing carries the item but says "Not applicable" in three tokens, and the 2022 filing has no such item at all. Those are three different answers, and the response distinguishes them, which is the difference between "Apple disclosed nothing" and "the requirement did not exist yet".
What to take from this
- max_tokens_per_filing is per filing and total_token_ceiling bounds the whole call, so a four-year read cannot surprise you with the cost of four long sections.
- is_stub separates a section that exists and says nothing from a section that is missing. Both are findings, and conflating them is a wrong answer an agent will state confidently.
- partial says a budget stopped the read short, so an agent knows to page rather than to conclude.
Next: Find out what just happened. Or run these tools against a filer of your own in the filing explorer, or read the full argument reference under the filings API.