Full-text search over earnings-call claim graphs — management claims ('claims'), analyst Q&A pressure points ('pressure_points'), a company's disclosure habits ('disclosure_profile'), and covered tickers/quarters ('coverage'). For filed XBRL financials use the `sec` schema via SQL.
Search earnings-call intelligence from live calls, decomposed into atomic, quote-anchored claims and Q&A pressure points — never a raw transcript dump.
Retrieval for "claims" and "pressure_points" is lexical, not semantic. A nonempty query uses an OR-of-tokens full-text candidate set; strict websearch_to_tsquery matches receive a fixed ranking boost, so strict matches rank ahead of loose partial-term matches. Lower-ranked rows may match only some query terms. If that filtered full-text search returns no rows, a trigram fallback handles typos and sub-word variants. Quoted phrases use websearch syntax, but synonyms are not inferred: try the company's own vocabulary ("capex" and "capital expenditure", segment names, abbreviations). An empty or partial result is not proof that management did not discuss a topic; coverage and vocabulary both matter.
Target and filter semantics:
- "claims" (default) searches or browses normalized management/analyst claim rows. ticker, quarter_filter, claim_family, section, detail, and limit apply. claim_family matches primary or secondary families; section is "prepared_remarks" or "qa". Base rows include direction/value/unit where checkable, assertion_status, canonical_statement, verbatim_quote, speaker, speaker_role, section, transcript_id, source_block_index, qa_turn_id, and a source_link object.
- "pressure_points" searches or browses what analysts pressed for and whether management confirmed, declined, deflected, or partially answered. ticker, quarter_filter, claim_family (the linked family), detail, and limit apply. section is ignored because every pressure point is from Q&A. Base rows include specific_ask, response_quality, refused_number, linked_family, linked_claim_id, verbatim_quote, transcript_id, source_block_index, qa_turn_id, and a source_link object.
- "disclosure_profile" is a direct company lookup, not text search. The ticker is the first ticker value, or query when ticker is empty. Profiles are curated separately from transcript coverage, so a covered company may not have one; availability is "available" or "unavailable" accordingly. quarter_filter, claim_family, section, detail, and limit do not narrow it.
- "coverage" is corpus inventory, not text search. ticker and limit apply; query, quarter_filter, claim_family, section, and detail do not narrow it. Rows report calls_covered, earliest_period, latest_period, latest_call_date (the call date of latest_period), claims, and pressure_points.
An empty query is a capped browse, not a completeness guarantee. Rows are ordered by newest fiscal period/call and then source-block (spoken) order within one call. Every response is limited to at most 50 rows, and a browse that reaches its limit may omit additional rows even if no truncation flag is present. For a latest-call note: (1) call "coverage" with one ticker, (2) read latest_period, (3) call "claims" with that ticker, quarter_filter=latest_period, query="", detail=true, and a deliberate limit, then (4) call "pressure_points" with the same ticker and quarter. Treat both browses as capped evidence, not a complete transcript. Narrow large result sets with ticker, quarter, target, claim_family, and (for claims) section. For media quotes, run_sql can read transcripts.appearance_claims.verbatim_quote; other transcript tables remain restricted.
Evidence rules: canonical_statement is normalized and must not be quoted as verbatim. Quote only verbatim_quote, with its speaker, role, ticker, and fiscal period. A […] inside verbatim_quote marks omitted transcript sentences between non-adjacent evidence spans: preserve it exactly when quoting, and never present text on either side of it as one continuous statement. When a quote is used, render source_link.source_label as the Markdown link text for source_link.source_url beside the claim. The label names the company, fiscal period, and earnings call transcript; never replace it with an ingestion vendor. Do not make a second call just to find a citation, do not invent a replacement when source_url is null, and do not call a document-level link exact context. source_locator still identifies the stored transcript block or Q&A turn. assertion_status is load-bearing: analyst_hypothesized is the analyst's framing, while mgmt_declined_to_confirm is a refusal, not a management assertion. Spoken call claims are a different source class from filed XBRL actuals (run_sql on the sec schema) and formally issued targets (the sec_guidance dataset); label them separately.
Examples:
- Latest call: search_earnings_transcripts(query="", search_target="coverage", ticker="MU"), then repeat with search_target="claims", quarter_filter=<latest_period>, detail=true, limit=50, and finally with search_target="pressure_points" for the same ticker and quarter.
- Cross-company theme: search_earnings_transcripts(query="capital expenditure capacity", search_target="claims", ticker="MU,NVDA", detail=true); inspect each returned row for topical support, do not assume every term matched, and retry vocabulary as needed.
- Disclosure habits: search_earnings_transcripts(query="", search_target="disclosure_profile", ticker="MU").
claim_family codes: driver_attribution, forward_conviction, prior_view_revision, strategic_agreement, pricing_mechanics, demand_magnitude, capacity_milestone, competitive_positioning, cohort_behavior, cost_margin_bridge, capital_allocation, stated_risk_constraint, qa_dynamics, regulatory_policy, pipeline_backlog, commodity_hedging, ma_deal, labor_org. Topic paths (topic_path column) are rooted at: demand, supply_capacity, pricing, cost_margin, capital, competition, customer, product_roadmap, risk, governance.
Request
- Base URL: https://api.factiq.com (the document declares no server; this is the origin it was published from)
- URL: https://api.factiq.com/tools/earnings
- Auth: HTTP bearer
Request body
Response
Successful Response
Changes
No recorded changes to this operation across all 1 revision of this API.