← Back to all apps

Daloopa

Financial Servicesby Daloopa, Inc.
Launched Aug 14, 2026 on ChatGPT

Daloopa supplies high quality fundamental data sourced from SEC Filings, investor presentations and any public financial documents, with hyperlinks to source document overlaying each data point. Provides a zero-hallucination foundation for any quantitative financial analysis in Claude.

10ChatGPT Tools
3Claude Tools
Daloopa, Inc.Developer
Financial ServicesCategory

Use Cases

financial-services

Available Tools

Discover Companies

discover_companies
Full Description

Search for companies in the Daloopa database using ticker symbols or company names.

This tool searches the Daloopa database for companies matching the provided keyword, which can be either a ticker symbol or company name. The search results include for each keyword, the ticker, full company name, and company ID needed for subsequent data retrieval.

Search Strategy: 1. PRIMARY: Ticker Symbol Search

  • For ticker search: Use the exact ticker symbol (e.g., "AAPL", "MSFT")

2. SECONDARY: Company Name Search (only if ticker fails)

  • IMPORTANT: Omit legal entity designations (Inc., Ltd., Corp., LLC, GmbH, S.A., etc.)
  • Examples: Use "Apple" instead of "Apple Inc.", "Microsoft" instead of "Microsoft Corporation"

3. FALLBACK: Alternative Name Forms (if standard name fails)

  • If initial search returns no results, try alternative forms of the company name
  • Try shorter versions of the name if the full name doesn't yield results
  • For companies with multiple words, try the most distinctive word
Parameters (1 required)
Required
keywordsarray

List of search terms - either a ticker symbol or company name (without legal entity designations)

Discover Company Documents

discover_company_documents
Full Description

List the financial documents Daloopa has for a company in the given quarters.

!!! WHEN TO USE !!! Call this tool whenever the user wants to know which filings exist in some quarter (or wants to read one) without searching for keywords inside them. Examples of prompts that should trigger this tool:

  • "show me Apple's filings from last quarter"
  • "what did NVIDIA file in Q3 2024?"
  • "pull Tesla's most recent earnings transcript"
  • "Summarize Apple's earnings transcript from 2025Q4"

For keyword-based search inside documents, use `search_documents instead.

!!! HOW THIS COMPOSES WITH OTHER TOOLS !!! The intended flow is: 1. discover_companies(keywords=[...]) to resolve a ticker or company name to a numeric company_id. 2. discover_company_documents(company_id, calendar_quarters=[...]) (this tool) to list every filing in those quarters. The response includes filing_type so you can pick the row that matches what the user asked for (10-K, 10-Q, 8-K, Transcript, etc.) and then read its document_id. For Others filings, the response also includes document_type (e.g. Earnings Presentation, Investor Day Presentation) so you can disambiguate the bucket without reading every row. 3. get_document_content(document_id)` to pull document content.

Parameters (1 required, 2 optional)
Required
company_idinteger

Daloopa company identifier from ``discover_companies``.

Optional
calendar_quartersarray

THE DEFAULT. Use this for normal requests like "last 5 quarters" or "Q3 2024". One or more calendar quarters, each in ``"YYYYQ#"`` format (e.g. ``"2024Q1"``, ``"2024Q4"``). Documents are keyed by quarter, so only quarters are accepted (no YYYYHH or YYYYFY).

Default: null
fiscal_quartersarray

Do NOT use by default. ONLY use when the user explicitly uses fiscal wording such as "fiscal Q1", "FQ1", or "fiscal 2026". The word "quarter(s)" alone is never a reason to use this. Same as calendar_quarters but matched against the company's fiscal calendar (also YYYYQ# quarters only). EXACTLY ONE of calendar_quarters or fiscal_quarters is required; they are mutually exclusive. If in doubt, use calendar_quarters.

Default: null

Discover Company Series

discover_company_series
Full Description

Discover and retrieve all available financial data series for a specific company.

This is the primary discovery tool for exploring what financial metrics and time series data are available for any given company in Daloopa's financial database. Use this tool to understand the breadth of financial data available before requesting specific metrics.

Key Use Cases:

  • Explore available financial metrics for a company
  • Find specific series by searching with relevant keywords
  • Check data availability for specific time periods
  • Identify series IDs needed for detailed data retrieval
Parameters (3 required, 2 optional)
Required
company_idinteger

The unique Daloopa company identifier. This is required and must be obtained from company search tools first.

keywordsarray

A list of keywords to filter the series by name.

periodsarray

Filter series that have data in these specific periods. Periods are in YYYYQQ format (e.g., ["2023Q1", "2023Q2"]). For annual data, use FY (e.g., "2022FY" for full year 2022)

Optional
calendar_periodsarray

THE DEFAULT for filtering by time. Use this for normal requests like "last 5 quarters" or "Q1 2024". Format YYYYQQ (e.g., ["2023Q1", "2023Q2"]); for annual data use FY (e.g., "2022FY"). Optional; mutually exclusive with fiscal_periods.

Default: null
fiscal_periodsarray

Do NOT use by default. ONLY use when the user explicitly uses fiscal wording such as "fiscal Q1", "FQ1", or "fiscal 2026". The word "quarter(s)" alone is never a reason to use this. Same as calendar_periods but matched against the company's fiscal calendar. Optional; mutually exclusive with calendar_periods. If in doubt, use calendar_periods.

Default: null

Fetch Company Fundamentals

get_company_fundamentals
Full Description

Retrieve financial fundamentals for a specific company across specified periods.

This tool fetches detailed financial data for a given company across requested time periods, filtered by specific series IDs. The data includes metrics from Income Statement, Balance Sheet, Cash Flow Statement, and various financial ratios.

═══════════════════════════════════════════════════════════════════ OUTPUT CONTRACT — READ BEFORE DOING ANYTHING ELSE ═══════════════════════════════════════════════════════════════════ Every numeric value from this tool MUST be rendered as a markdown hyperlink using the id field from the response:

Format: [$<value> <unit>](https://daloopa.com/src/<id>) Example: response {id: 158655532, value_quarter: 62314, unit: "Million"} renders as: [$62,314 million](https://daloopa.com/src/158655532)

UNACCEPTABLE outputs (these are rule violations): ✗ $62,314 million ✗ $62,314 million (source: Daloopa) ✗ $62,314 million [Daloopa] ✗ Stating "Data sourced from Daloopa" without per-number links

ACCEPTABLE output: ✓ [$62,314 million](https://daloopa.com/src/158655532)

This applies to ALL contexts: prose, tables, artifacts, charts, bullets. End every response with: "Data sourced from Daloopa"

Before responding, verify every number in your answer is linked. If any aren't, fix them before sending. ═══════════════════════════════════════════════════════════════════

Parameters (3 required, 3 optional)
Required
company_idinteger

The unique identifier for the company in Daloopa's system

periodsarray

List of calendar periods to search within. Format: "YYYYQ#" for quarters (e.g., "2023Q1", "2023Q2") or "YYYYFY" for full year (e.g., "2023FY"). ALWAYS parse user's time references into explicit periods: - "last 4 quarters" → ["2025Q1", "2024Q4", "2024Q3", "2024Q2"] (calculate based on current date) - "2023" → ["2023Q1", "2023Q2", "2023Q3", "2023Q4"] or ["2023FY"] - "Q1 2024" → ["2024Q1"]

series_idsarray

List of specific financial metric IDs to retrieve

Optional
calendar_periodsarray

THE DEFAULT. Use this for essentially every request, including "last 5 quarters", "last 4 quarters", "Q1 2024", "2023", and "recent quarters". Format "YYYYQ#" (e.g., "2023Q1") or "YYYYFY" (e.g., "2023FY"). ALWAYS parse user's time references into explicit periods: - "last 4 quarters" → ["2025Q1", "2024Q4", "2024Q3", "2024Q2"] (calculate based on current date) - "2023" → ["2023Q1", "2023Q2", "2023Q3", "2023Q4"] or ["2023FY"] - "Q1 2024" → ["2024Q1"]

Default: null
fiscal_periodsarray

Do NOT use by default. ONLY use when the user explicitly uses fiscal wording such as "fiscal Q1", "FQ1", "fiscal 2026", or "the company's fiscal quarter". The word "quarter(s)" alone is never a reason to use this. Same formats as calendar_periods, matched against the company's fiscal calendar. EXACTLY ONE of calendar_periods or fiscal_periods is required; they are mutually exclusive. If in doubt, use calendar_periods.

Default: null
rationalestring
Default: null

Get Document Content

get_document_content
Full Description

Retrieve the full text of a Daloopa-indexed financial document.

Access to a document is gated on the company it belongs to: the tool resolves that company from the document and runs the same access-control and subscription flow as get_company_fundamentals. When access is denied (e.g. the user's company subscription limit is reached), a plain-text message is returned and no document content is provided; relay that message to the user verbatim.

Returns one of three shapes depending on what the document needs:

1. content payload (whole document or a single section, when the document is small enough or the caller passed a valid section for a large filing):

{ "title": "...", "filing_type": "10-K", "document_type": "10-K", "content": "...", "section_returned": null | "Item 1A. Risk Factors", "truncated": false, "url": "https://marketplace.daloopa.com/document/{document_id}", }

`content is capped on the server side and never exceeds MCP_SECTION_MAX_CHARACTERS characters. truncated is true when the cap was hit; ask for a specific section to get less text in one call. document_type is the source classification carried alongside filing_type and is useful for disambiguating broad buckets such as "Others" (for example an Earnings Presentation or Investor Day Presentation).

2. section required (when the document is a large 10-K or 10-Q and the caller did not pass a section, or passed a section that is not in available_sections):

{ "instruction": "This document is too large ...", "title": "...", "filing_type": "10-K", "document_type": "10-K", "total_characters": 250000, "total_sections": 16, "available_sections": [{"name": "...", "characters": 12345}, ...], "url": "https://marketplace.daloopa.com/document/{document_id}", }

On a section-required response you MUST present the full available_sections list to the user (each entry's name and characters count) and ask the user which section to pull. Do NOT auto-pick a section. Once the user chooses one, call get_document_content again with that section` argument.

3. refusal (when content retrieval is not supported for this document, e.g. filing types outside the allowlist):

{ "error": "Document not supported for content retrieval", "filing_type": "20-F", "document_type": "20-F", "reason": "Filing type '20-F' is not supported ...", "url": "https://marketplace.daloopa.com/document/{document_id}", }

Parameters (1 required, 2 optional)
Required
document_idinteger

Daloopa document identifier. Get one from ``discover_company_documents(company_id, calendar_quarters)`` (the primary path; use ``discover_companies`` first to resolve ``company_id``) or from a marketplace URL the user pasted.

Optional
rationalestring
Default: null
sectionstring

Section name chosen by the user from a previous section-required response. Required for large 10-K and 10-Q filings. Ignored for small filings, 8-Ks, transcripts, news articles, and Others filings. Must be a name the user explicitly picked from ``available_sections``; never guess or auto-pick.

Default: null

Get Investing Skill

get_skill
Full Description

Fetch the full instructions for a single investing skill, with inputs filled in.

Use `list_skills first to discover the skill name and the inputs` it requires. Collect every required input from the user (never guess them), then call this tool to retrieve the skill's full template with those values substituted in. Follow the returned instructions to produce the deliverable.

Parameters (1 required, 1 optional)
Required
namestring

The skill slug from ``list_skills`` (e.g. "earnings_review").

Optional
paramsobject

The input values for the skill, keyed by the input ``name`` declared in the catalog (e.g. ``{"ticker": "AAPL"}``).

Default: null

Get Stock Prices

get_stock_prices
Full Description

Retrieve daily OHLCV stock price data for one or more companies, split/dividend- adjusted already. All dates YYYY-MM-DD.

USE WHEN: user asks about P/E, EV/EBITDA, Price/Book, Price/Sales, stock reactions to earnings, price performance, or any question needing a specific stock price.

DATES: use start_date/end_date for a range OR dates=[...] for discrete dates — not both. Always batch all dates into one call instead of calling once per date or quarter.

SPOT PRICE (current): Pass the 3 most recent calendar days to guard against weekends/holidays: dates=["{TODAY-2}", "{TODAY-1}", "{TODAY}"] Substitute actual dates at call time. Take the most recent date returned.

Parameters (1 required, 4 optional)
Required
company_idsarray

Daloopa company IDs from discover_companies.

Optional
datesarray

Specific discrete dates, YYYY-MM-DD. Use instead of start_date/end_date.

Default: null
end_datestring

Range end, YYYY-MM-DD. Defaults to today if omitted.

Default: null
rationalestring
Default: null
start_datestring

Range start, YYYY-MM-DD. Use instead of dates for continuous ranges.

Default: null

Get Usage

get_usage
Full Description

This is a reporting assistant tool. When given usage data, present it clearly and helpfully. Follow these rules:

Formatting rules

  • Use a compact visual summary (emoji gauges or progress indicators work well)
  • Show consumed / limit and percentage for each resource
  • Highlight resources that are APPROACHING_LIMIT (≥80%) or LIMIT_REACHED with

appropriate urgency — but don't be alarmist for healthy usage

  • For "unlimited" limits, just say "unlimited" — skip percentage/gauge
  • For null resets_at (lifetime cap), say "never resets" — don't mention a date
  • Always mention the reset date for resources that do reset

Tone rules by status

  • OK → neutral/informative tone
  • APPROACHING_LIMIT → mild urgency, suggest the user be mindful
  • LIMIT_REACHED → clear warning, tell them what they can't do and what to do next

What to output

1. A one-line status summary (overall health) 2. Per-resource breakdown with gauge, numbers, and reset info 3. A short contextual note if any resource is APPROACHING_LIMIT or LIMIT_REACHED

Do not output raw JSON, field names, or internal status codes.

List Investing Skills

list_skills
Full Description

List every available investing skill (analysis/valuation/deliverable workflow).

!!! PROACTIVE USE — START HERE FOR WORKFLOW REQUESTS !!! Call this tool FIRST, without waiting for the user to ask for it, whenever the user wants a structured deliverable or repeatable analysis, e.g.:

  • "do an earnings review of AAPL"
  • "build me a DCF / comps / tearsheet"
  • "write a research note", "prep me for NVDA earnings"

The catalog is intentionally lightweight (a one or two sentence `description per skill) so this discovery call is cheap to make often.

Each entry includes the inputs the skill needs to run:

  • name (str): The skill slug to pass to get_skill.
  • title (str): Human-readable skill title.
  • description (str): One or two sentences on what the skill produces.
  • inputs (list[dict]): The parameters the skill expects, each shaped

{"name": ..., "type": ..., "required": bool}.

!!! HOW TO PROCEED AFTER LISTING !!! 1. Pick the skill whose description matches the user's request. 2. Read its inputs. For every required input you do NOT already know, ASK THE USER for it (e.g. ticker, peer set, valuation date) before calling get_skill. Do NOT invent, guess, or default required inputs. 3. Once you have the values, call get_skill(name=..., params={...})` to fetch the full skill instructions.

Returns: list[dict[str, Any]]: The full skill catalog, or a string message when no skills are available.

Search Financial Documents

search_documents
Full Description

Search financial documents and filings with keyword matching.

!!! PROACTIVE USE REQUIRED !!! Call this tool automatically when users ask about:

  • Qualitative information (management commentary, risk factors, strategy)
  • Topics like "guidance", "outlook", "risks", "competition", "acquisitions"
  • What management said about specific topics
  • Context or explanations for financial performance
  • Specific events, announcements, or disclosures

DO NOT wait for the user to explicitly request a document search.

Search across financial documents (10-K, 10-Q, 8-K, etc.) to find specific content, disclosures, management commentary, risk factors, and other qualitative information. Returns simplified document results with context snippets.

Parameters (3 required, 3 optional)
Required
company_idsarray

Company IDs to search within. Use discover_companies to find IDs.

keywordsarray

1-10 specific keywords to search for. Use financial terms (e.g., ["revenue", "guidance"], ["EBITDA"], ["risk factors"]) Case-insensitive exact phrase matching. All keywords must appear (AND logic).

periodsarray

List of calendar periods to search within. !!! CRITICAL: Use the SAME period format as get_company_fundamentals !!! Format: "YYYYQ#" for quarters (e.g., "2023Q1", "2023Q2") or "YYYYFY" for full year (e.g., "2023FY"). ALWAYS parse user's time references into explicit periods: - "last 4 quarters" → ["2025Q1", "2024Q4", "2024Q3", "2024Q2"] (calculate based on current date) - "2023" → ["2023Q1", "2023Q2", "2023Q3", "2023Q4"] or ["2023FY"] - "Q1 2024" → ["2024Q1"] - "recent" → use the same periods as your fundamentals queries

Optional
calendar_quartersarray

THE DEFAULT. Use this for essentially every request, including "last 5 quarters", "Q1 2024", and "recent quarters". Documents are keyed by quarter, so only "YYYYQ#" values are accepted (e.g., "2023Q1", "2023Q4"); no half-year or full-year labels. ALWAYS parse user's time references into explicit quarters: - "last 4 quarters" → ["2025Q1", "2024Q4", "2024Q3", "2024Q2"] (calculate based on current date) - "2023" → ["2023Q1", "2023Q2", "2023Q3", "2023Q4"] - "Q1 2024" → ["2024Q1"]

Default: null
fiscal_quartersarray

Do NOT use by default. ONLY use when the user explicitly uses fiscal wording such as "fiscal Q1", "FQ1", or "fiscal 2026". The word "quarter(s)" alone is never a reason to use this. Same "YYYYQ#" format as calendar_quarters, matched against the company's fiscal calendar. EXACTLY ONE of calendar_quarters or fiscal_quarters is required; they are mutually exclusive. If in doubt, use calendar_quarters.

Default: null
rationalestring
Default: null