- Brand
- Catalyst
- Category
- Data & Analytics
- Primary Subcategory
- Institutional Financial Data & Equity Research Platforms
Integration details
Description
Research companies and understand market developments with Catalyst. Explore company insights, financial fundamentals, earnings, analyst updates, filings, technical indicators, economic events, industries and fund holdings. Compare stored company metrics and review source dates and links where available. You can also choose to sign in to your Catalyst app account and share selected connected brokerage accounts with ChatGPT. With your approval, Catalyst can show those accounts, the freshness of their stored holdings and a bounded list of positions. Personal quantities are shown only when their stored basis is institution-reported; converted or unverified quantities remain unavailable. Research access does not require sharing your portfolio. Data coverage and freshness vary, and this connection does not provide live quotes, account valuation, transaction history, tax lots, transfers or trade execution.
- Integration type
- Plugin
- Verification status
- Not applicable
- Platform
- ChatGPT
- Primary Subcategory
- Institutional Financial Data & Equity Research Platforms
- Secondary Subcategories
- None listed
- Brand
- Catalyst
- Access
- Account required
- First tracked
- 2026-10-02
- Tool count
- 48
- Market
- US
The Primary Subcategory used for this profile’s headline score.
Other Subcategories where the Integration is listed.
Your score is coming
ChatGPT now suggests Plugins on its own when they match a user's request.Your Plugin Discovery Score measures how often yours appears, and it will show here as soon as it’s ready.
What discovery looks like

Get alerts for Catalyst
Get updates when Catalyst’s Discoverability Score or category rank changes.
Competing in ChatGPT Institutional Financial Data & Equity Research Platforms
View Category48 tools agents can invoke
Add up to 50 ticker symbols to one of the person's watchlists. Symbols already on the list are reported in already_present, not duplicated. Symbols Strata does not support are reported in rejected and never added. With no watchlist_id or watchlist_name, the default list is used; give at most one of them. This changes the person's own Strata watchlists and requires their "Edit your watchlists" approval.
Compare selected stored financial ratios across 1-10 explicit tickers. Omit metrics for all public metrics. Ratios are multiples; _pct values are already percentages. Preserve each company's timestamp and missing data. No automatic peers, averages, currency conversions or new analytics. Use get_ticker_fundamentals for a single company snapshot.
Compare stored split-adjusted price returns for 1-10 tickers over YTD, 1m, 3m, 6m or 1y. Not dividend total returns, live prices or currency-adjusted comparisons. Source price currency is not supplied; do not add dollar signs or assume USD. split_adjusted=false means no split adjustment was needed, not that splits are ignored. Actual baseline/end dates can differ by ticker; latest end is before today in New York. Missing baselines remain null; do not substitute an IPO start.
Create a new watchlist for the person, optionally with up to 50 starting ticker symbols. Symbols Strata does not support are reported in rejected and never added. This changes the person's own Strata watchlists and requires their "Edit your watchlists" approval.
Permanently delete one of the person's watchlists; confirm with the person first. Give exactly one of watchlist_id or watchlist_name. The default list cannot be deleted. The response lists the tickers it removed, so the list can be recreated with create_watchlist if the person asks. This changes the person's own Strata watchlists and requires their "Edit your watchlists" approval.
Open one Strata deep dive (composed research article) by the id a Strata hand-off or get_ticker_articles gave you: full body, highlights, revision and update time, and the stories it cites (open each with get_insight). Articles are revised in place, so state the revision time you used. Strata keeps the newest 15 per company; an older id is not found. Quote verbatim or label summaries.
Get stored company identity and description for one ticker. Does not return quotes, insights, financials, or company/industry narratives. Missing coverage is null.
Get scheduled economic releases, optionally filtered by UTC dates, country/region code and importance (1-3). Default window is today plus six days; maximum 31 inclusive days. Actual/previous/consensus/forecast are source display strings; survey consensus differs from provider forecast. scheduled_at can be null when only a date is known; timestamp is write time. No live-actual guarantee or computed surprise. For company earnings use get_ticker_earnings.
Get a fund's stored direct holdings by exact ticker alias; not name search, institutional holders of a stock or recursive fund look-through. Weights are signed whole-fund FRACTIONS (0.05 = 5%) of net assets, so they can sum above 1 when a fund holds securities-lending collateral; preserve shorts, duplicates and coverage. ticker is a verified application security; reported_ticker is the original source symbol and must not be used as a company link. fund.timestamp, portfolio_date and published_at are different dates; holdings come from quarterly SEC portfolio reports, not current issuer files. Restart paging if snapshot changes; ambiguous aliases return an error, not an arbitrary fund. Unit investment trusts (SPY, DIA, MDY) and trusts that file no SEC portfolio report (IBIT, gold or commodity trusts) are not covered; a 404 says why.
Get the stored narrative for one industry by the exact opaque ID returned by list_industries or ticker context. Pass the returned ID unchanged, not URL-encoded; the adapter encodes the path segment. Includes all current cohort tickers (retired symbols left out), not ticker-relative peers. Preserve timestamp and null narrative fields. Not a market-wide news aggregation or performance snapshot.
Open one Strata story (insight) by the id an app card, a Strata hand-off or another Strata tool gave you. Returns that exact stored story even when the insight feed hides it as a duplicate (status hidden_duplicate; lead_story is the story it was grouped under, which can be older or newer than the one you opened, so compare published_at; the reader may have seen either), raw stories never processed (status raw_only), and the stored source text verbatim in pages of up to 20,000 characters; follow text.next_offset as text_offset only when you need more. Accepts app card suffixes such as _impact. Not a search: use get_ticker_feed or get_market_feed to find stories. Preserve published_at (for press releases and SEC filings published_at is corrected for a known source time-zone error) and label paraphrases as summaries.
Get stored COUNTRY/COMMODITY market narratives together with sentiment. For sentiment-only questions, use get_market_sentiment instead; do not fetch country/commodity narratives. For one country or commodity, pass ids (e.g. united_states or crude_oil) or category; entries not asked for are left out, not uncovered. One successful call returns everything stored for what it asked; reuse it for this answer rather than repeating the same call for more detail. If your client truncates it, acknowledge that limitation. Not live quotes, a calendar, or sentiment history. Preserve source timestamps and distinguish missing coverage from neutral conditions.
Discover recent insights across the market, or use q for semantic search. This is the insight feed, not the signals leaderboard; for stock signals to act on, use list_signal_candidates first. Optional tickers requires q. No market-wide score filters. Semantic mode excludes order/cursor and is bounded, not exhaustive. q ranks by similarity only, with no recency weighting: time words in q do not filter dates, so set from/to as ISO dates for time-bounded questions. Perplexity market-summary cards (machine-written macro roll-ups re-rendered every few minutes) are left out, as in the Strata app. Dates filter and order by the stored publication time; for press releases and SEC filings published_at is corrected for a known source time-zone error, so a few items can show a published_at up to about 5 hours past the requested window end, or appear slightly out of order. Raw content is opt-in; never automatically fetch all pages.
Get stored gainers/losers for the market or one sector/industry. scope=sector/industry requires an exact name from get_market_performance; omit name for market. limit applies separately per direction, maximum 10. Coverage is stored price-move lists, not a comprehensive exchange scan and not the Strata signals leaderboard. For stock signals to act on, use list_signal_candidates. NOT live, premarket or after-hours movers; no volume or price filters. Preserve snapshot date.
Get stored sector or industry performance snapshots, including average_change_pct and cap_weighted_change_pct. Both are market-cap weighted: the stored average is not an equal-weighted or median move, and the two differ only by a slightly narrower universe for the cap-weighted one. Omit name to discover exact group names for this tool and get_market_movers. These names are NOT narrative industry IDs. Preserve snapshot date, even on holidays; not live performance. Missing metrics stay null and unknown names return empty items.
Use this for sentiment-only questions: latest market sentiment score AND components, or its daily history. Do not use get_market_context unless country/commodity narratives are also requested. With NO arguments returns the latest stored headline and components. Supplying ANY date/order/limit/offset argument switches to daily HISTORY; use limit for recent/retained history, not latest mode. History has headline scores/ratings, not past components or intraday points. comparison values are CNN's own reported scores, not computed from the history: previous_close can differ from the history value for that date, which is CNN's end-of-day reading. The latest headline score is stored as a whole number. Preserve source dates; no refresh, interpolation or ticker-specific sentiment.
Read an authorized page of Strata holdings, including asset_class/security_type and available cost basis, institution values, timestamped quotes and estimated position values. Use each amount’s currency; null means unknown. valuation.currency is set only when all populated amounts share one known currency. No FX conversion or summed portfolio valuation. Entire-portfolio quantities include source and quantity_basis; converted units are not necessarily shares. Selected brokerage quantities are returned only when institution-reported. Use eligible_for_company_research before company research; funds, cash and unknown instruments are not companies. Each holding’s fund reference links to fund_compositions, included once per canonical fund on this page. These are dated direct constituents, not recursive user exposure: signed weights are fractions of the whole fund (0.05 means 5%), never renormalized; unmapped tickers remain null. Check status, portfolio_as_of, completeness and coverage; missing composition is not an empty fund. Large compositions have page.has_more and a get_fund_holdings continuation with ticker/offset. Optional ticker exactly filters stored symbols. Holdings next_cursor is separate: retain ticker/limit and restart on snapshot change. Requires explicit portfolio consent; no trading or account credentials.
Read status, holdings counts, and available update times for the Strata portfolio or specific brokerage accounts the user shared with this assistant. Requires explicit portfolio approval through Strata sign-in; an API key is not required for assistant connection. Entire-portfolio permission includes manual, CSV, brokerage, and future holdings; selected brokerage permission covers only those accounts. Use get_my_holdings for positions, per-field currencies, asset classifications, and dated fund compositions. No total portfolio valuation, currency conversion, performance, trades or account credentials. Unavailable or stale accounts are identified explicitly.
Read the person's own Strata watchlists in their order, each with its id, name, whether it is the default list, and its ticker symbols. Requires their portfolio or watchlist approval through Strata sign-in. Read-only: no quotes, research or changes.
Use FIRST when a Strata hand-off names this tool, or to get everything current about one signal, company, fund, story (insight) or deep dive in one call. Give exactly one of signal_id, ticker, insight_id or article_id. Returns the subject plus research sections chosen by Strata; each section states its coverage, freshness, date, caveats and the tool that returns more. Sections that are out of date (freshness stale), unreadable right now (status unavailable) or missing (coverage not_covered) carry no figures: treat them as missing and never fill them in from older data. portfolio_access says whether this connection may read the user's holdings with get_my_holdings. Not live quotes, advice or orders.
Get recent analyst rating/target updates and stored price-target consensus for one ticker. analysts_limit bounds updates only; no history cursor. Consensus reference price and upside belong to its stored batch, not live prices or complete Street coverage. Update target strings are source text, not precise current targets; currency is not inferred. Use screen_price_targets for cross-ticker screening.
Get full stored composed research articles for one ticker, distinct from its latest digest or individual insight feed. Optional q searches semantically; omit offset with q. q ranks by similarity only, with no recency weighting: time words in q do not filter dates, so set from/to for time-bounded questions. Dates filter article publication. Chronological mode supports offset pagination. Prefer bounded retrieval and brief verbatim excerpts with source links; do not present paraphrases as quotations. No new article generation.
Get stored congressional transactions for one ticker. Dates filter transaction date, not filing date; types match full source text (Sale is distinct from Sale (Full)). Amount ranges are not exact dollars or midpoint estimates. Duplicates remain. Timestamp is snapshot refresh time; no live/complete-history guarantee or cursor.
Get Strata's stored AI-enriched research for one ticker: latest company digest, company narrative with bull/bear views and watch items, and industry narrative with peers. Use for the company investment backdrop, not a basic company description, individual news insights, financial ratios, or technical indicators. Returns only digest, ticker_state, industry_state and meta. Preserve each section's timestamp; these are separately updated snapshots, not live facts or newly generated analysis. Missing coverage is null, not a neutral outlook. Some stored company-narrative text ends mid-word where its writer hit a length cap (storyline summaries 700 characters, overview 900, headline 220): quote it as stored and never complete it.
Get one company's stored earnings calendar with recent/upcoming dates and reported/estimated values where available. Not exhaustive earnings history or a market-wide earnings calendar. Dates are calendar days, not exact release times; timestamp is document refresh time. Preserve reporting_symbol and unknown currency; do not infer USD or per-share listing conversions.
Get recent insights and source metadata for one ticker; filter by source, publication dates, and scores. Optional q searches semantically: omit order/cursor in that mode; results are bounded indexed matches, not exhaustive. q ranks by similarity only, with no recency weighting: time words in q do not filter dates, so set from/to as ISO dates for time-bounded questions. Perplexity market-summary cards (machine-written macro roll-ups re-rendered every few minutes) are left out, as in the Strata app. Dates filter and order by the stored publication time; for press releases and SEC filings published_at is corrected for a known source time-zone error, so a few items can show a published_at up to about 5 hours past the requested window end, or appear slightly out of order. impact_score is signed, not a 0-100 scale or absolute-magnitude filter. Other score bounds are 0-100. Returns only feed and meta. Raw content is opt-in; follow next_cursor only when more results are needed.
Get historical filing-reported financial facts, not vendor ratios or reconstructed statements. Omit concept to discover exact XBRL concepts; concept/family filters match exactly. Dates filter period END, not filing date. period.label is null: identify a period by its start and end, never by a calendar-quarter name (fiscal years differ, e.g. NVDA's Q2 FY2027 ends 2026-07-26). Preserve unit, dimensions, period boundaries and restatement evidence. aggregation is stored semantics, NOT quarterly/annual selection. No TTM summation, FX conversion or annual-to-quarter inference; limit counts facts.
Get 15 stored company financial ratios and percentages for one ticker: valuation multiples, margins, returns, growth, debt and liquidity. Returns only fundamentals and meta, not financial statements, historical series, analyst forecasts, company narratives or technical indicators. Preserve TTM versus quarterly labels, multiples and percentage units. Timestamp is document refresh time, not fiscal-period end or a live price calculation. Ratios use the provider's company basis. Missing coverage or individual metrics are null; do not substitute estimates or zeros.
Get stored insider transactions for one ticker, with transaction-date bounds and exact transaction-code filters. Grants, exercises, amendments and derivative legs may coexist; do not equate every acquisition with open-market buying or sum duplicate economic trades. Only codes P and S are purchases and sales (SEC Form 4: open market or private); A is a Rule 16b-3 grant or award, and its $0 price is the reported price, not a purchase price; M, F and G are exempt derivative exercises, exercise-price or tax payment in shares, and gifts. Preserve source amounts and unknown currency. Bounded latest list, no cursor or complete-history claim.
Read the public options tables for one ticker. Returns whether the ticker is optionable, the latest settled expiry open-interest rollup from options_oi_expiry_daily, and current quotes from options_quote_now (bid, ask, last, IV, and greeks) for unexpired contracts near the stored spot. Quote volume and open_interest are null because the quote feed carries neither, greeks are null when the source sent none, and bar open_interest is null. Pass contract (an OCC symbol from the quote list) to read that quote plus price bars: bar=daily reads options_daily_prices, hour reads options_hourly_prices, five_minute reads options_five_minute_prices. bar requires contract. This is not settled contract-level open interest; use get_ticker_options for that chain. Strikes are in source price units. Do not infer a currency or a contract multiplier. Not an order and not proof of trader intent.
Get stored options open-interest positioning and a bounded contract page for one ticker. Not executed order flow, option quotes, every listed contract or proof of trader intent. For quotes, greeks, the expiry open-interest rollup, or contract price bars, use get_ticker_option_market. Summary totals cover the WHOLE stored chain, ignoring expiry/type/page filters. Preserve session_date and batch timestamp. Strike is in source price units; do not infer a currency or add dollar signs. Opaque IDs are not tradable OCC symbols; no contract multiplier is inferred. Restart pagination if the snapshot changes.
Get institutional 13F positions for one ticker from the newest stored quarter whose 13F filing deadline (45 days after quarter end, moved off a weekend) has passed, so a quarter still being filed is not shown as its holder list; if none has passed, the newest stored quarter. report_date is the position-reporting date, not filing receipt time or live holdings. Bounded ranked holder list; no ownership percentages, new position values, history or totals are calculated. Empty coverage is an empty list with null report_date. For a fund's constituents use get_fund_holdings.
Get Strata's stored 12-month projection and assumptions. Not analyst consensus or a guaranteed forecast. Distinguish volatility-envelope bands from LLM scenarios using band.basis; sigma and nominal_coverage are fractions, percentage-suffixed fields are percentages. Numeric prices have no verified currency; source prose using $ does not verify USD. Do not add dollar signs to numeric fields. Preserve computation/reference-price dates. No new model generation.
Get stored ticker risk: universe-relative 1-10 rank, volatility, downside deviation, VaR, drawdown and Sortino, with lookback and universe size. Not a new risk calculation, prediction, history or market-wide risk screen. Preserve percent units and computation timestamp; null is missing coverage, not low risk.
Get stored shares outstanding and float for one ticker, in MILLIONS of shares. Preserve source basis and timestamp; no whole-share, ADR or share-class conversion, float-percent calculation or history. Float may exceed outstanding due to source dates/bases; do not clamp it. Not short interest.
Get the latest stored daily technical indicators for one ticker: moving averages, RSI, MACD, Bollinger bands, ATR, volume, returns, relative strength and regime labels. Returns only technicals and meta. Report trade_date as the session and timestamp as computation time. Close is that stored session's closing price, NOT a live quote; price units do not imply a currency. No intraday/history lookup, indicator refresh or generated technical analysis. Missing coverage or individual indicators are null, not neutral or zero.
Get Strata's stored present-business valuation model, methodology and supporting assumptions. Not a future price target, analyst consensus, live quote or new generation. Preserve computation timestamp, reference-price timestamp/basis and source-native units. Numeric prices have no verified currency; do not add dollar signs or assume USD. Negative premium values and missing coverage remain as stored.
List available narrative industries and their exact opaque IDs. Use to discover industry_id for get_industry_state; never derive an ID from a name or change its punctuation. This is not the sector/industry performance group catalog.
FIRST TOOL for stock signals to act on, Strata signals, or the signals leaderboard. Reads live signals.candidates rows in the engine's rank order, the same order as the Strata app (then composite_score, then consecutive emissions), and attaches signals.themes, signals.theme_memberships, and signals.ticker_risk for those symbols. Not get_market_movers and not the insight feed. Expired rows are omitted. composite_score is a 75-100 strength score combining Strata's event and technical detectors; it is not a probability, win rate or confidence, and scores above 99 are common. consecutive_emissions counts scanner cycles (about 20 a trading day) that emitted the signal since it first appeared; missed cycles do not reset it, so it is not conviction, and the news behind a signal can change while it rises. Prices, entry, stop, and target are stored setup hints, not live quotes, forecasts or orders. direction is both, long, or short. symbol is one exact ticker. theme is one exact theme slug and includes its subthemes. limit is 1-25, default 15. Unknown symbol or theme returns empty lists. At most eight theme memberships per symbol. Do not substitute top gainers.
Remove up to 50 ticker symbols from one of the person's watchlists. Symbols that were not on the list are reported in not_present. With no watchlist_id or watchlist_name, the default list is used; give at most one of them. This changes the person's own Strata watchlists and requires their "Edit your watchlists" approval.
Rename one of the person's watchlists. Give exactly one of watchlist_id or watchlist_name to choose the list. This changes the person's own Strata watchlists and requires their "Edit your watchlists" approval.
Set the order of the ticker symbols on one of the person's watchlists. List exactly the symbols already on it, each once; nothing is added or removed. With no watchlist_id or watchlist_name, the default list is used; give at most one of them. This changes the person's own Strata watchlists and requires their "Edit your watchlists" approval.
Set the order of the person's watchlists. List every watchlist id from get_my_watchlists exactly once. This changes the person's own Strata watchlists and requires their "Edit your watchlists" approval.
List companies that had a kind of event recently, or have a dated milestone coming up, one row per company. q describes the event in plain words and decides which stories are looked at, so write it out ("company was awarded a government contract", "FDA decision date for a drug approval"); event_types or calendar_types then keep only stories labelled that way. Examples: government contracts event_types=["government_contract"] with max_market_cap=10000000000 for smaller companies; acquisitions ["acquisition","merger"]; spin-offs ["spin_off"]; buybacks ["buyback"]; supplier or customer deals ["supplier_agreement","contract","client"]; trial results ["clinical_trial_update","breakthrough"]; upcoming FDA decisions when=upcoming, calendar_types=["regulatory_decision"], sector="Health Care"; trial readouts ["data_readout"]. Market cap and sector are stored classification values. For one company's news use get_ticker_feed.
Rank companies that raised (or cut) financial guidance in a recent window by how far the guided midpoint moved against the range it replaced. Use for "who raised guidance the most", "who cut their outlook". Each revision names the metric, period, old and new ranges, change_pct and the release sentence. prior_source says whether the release itself named the prior range. A revision without change_pct had no reliable prior: mention it, do not rank or size it. Different metrics are not directly comparable. Coverage is the companies whose press releases the guidance pipeline reads.
List stocks that closed at or near a 52-week high on heavy volume in the last few stored sessions, ranked by relative volume (session volume / 20-day average). Use for "breakouts to new highs on big volume", "52-week highs this week". Coverage is S&P 500 stocks with daily indicators (about 470); say so. Closing data only: the current session appears after it closes. Prices are in source units; do not assume a currency.
Screen stored analyst price-target consensus across the market or explicit tickers. Filters combine with AND; signed upside bounds include negatives. Sorted by stored upside descending, not requested ticker order. Reference prices/upside are dated batch values, not live quotes or guarantees. Currency and complete Street coverage are not established. For one ticker's consensus plus recent actions use get_ticker_analysts.
Find ticker symbols by company name or symbol prefix. Use when the symbol is unknown or ambiguous; do not guess from company names.
Catalyst ChatGPT Plugin FAQ
How the directory, categories and Discoverability Score work.
Read the methodologyHow do I improve Catalyst's ChatGPT Plugin discoverability?
The levers are the listing surface agents actually read: names, descriptions, keywords, tool metadata, and registry health. Which lever matters depends on where discovery breaks, which is what continuous measurement shows.
What are Catalyst alternatives on ChatGPT?
As of 2026-11-02, Catalyst competes with AeonData, Aiera, AIR Credit Intelligence, Alpha Vantage, ALPHAPORT.AI, AlphaYou - Market Intelligence, AnnuityRatesHQ, Balanços.AI and 72 more in ChatGPT Institutional Financial Data & Equity Research Platforms, ranked by public Discoverability Score.
Where is this profile measured?
This profile uses the geography attached to the latest public registry snapshot: US. Locale tags are intentionally omitted.