# Using The Claude Trader from ChatGPT, Claude or any agent

The site is static JSON with no key and CORS open, so two routes work:

**0. Just want stock ideas (no setup, one page).** Give the model `https://theclaudetrader.com/ideas` (or the plain-Markdown twin `https://theclaudetrader.com/ideas.md`, operation `getIdeas`). It lists the current snapshot's candidate shortlists — passes-all-Graham plus the top names under each published rule set (Magic Formula, Momentum, insider buying, Buffett quality, Lynch GARP, Graham Enterprising, Piotroski) — each name with score, price, market cap and a direct SEC-filings link, so the model can answer and cite straight from that one page. They are deterministic rule screens, not recommendations or forecasts.

**1. Browsing (no setup).** Ask the model to read `https://theclaudetrader.com/llms.txt` first. It lists every URL pattern, the snapshot date and the answer discipline. Then it can fetch `/r/{TICKER}.json` for a company or `/q/top/{philosophy}.json` for a list.

**2. ChatGPT Action (custom GPT).** In the GPT builder choose *Create new action*, *Import from URL*, and paste `https://theclaudetrader.com/openapi.json`. Authentication: none. Privacy policy URL: `https://theclaudetrader.com/for-llms`. Suggested instructions for the GPT:

> Start every stock question with getStats (snapshot date) and getResearchPacket for the ticker. Report each score with its status and data_as_of, repeat every warning and limit in the packet, and cite the source URL for any number you quote. When asked for a shortlist or a draft portfolio and the constraints are known (horizon, risk tolerance, benchmark, exclusions, concentration limits; ask once for any missing), build it and lead with the answer: the ranked names, a one-line thesis each, then weights. Use getTop, getGrahamPassAll or getIndustries → getIndustry, then getResearchPacket per candidate. Cite the packet inputs behind each thesis and place only the material warnings beside the claims they affect (partial score, stale or mismatched input, Form 4 coverage gap, market value withheld, no US-GAAP fundamentals). Keep stated uncertainty, label the selection and weights as your own synthesis distinct from the site's deterministic scores, and never promise outperformance or alpha or state an expected return the data does not contain; the site holds no positions.

**Example questions and the calls behind them**
- "Which companies pass all seven Graham tests right now?" → `getGrahamPassAll` (read its `count` and `snapshot_date`; the screen is strict, so expect only a handful or none) then `getResearchPacket` for each.
- "How does Lennar score and how fresh is the data?" → `getResearchPacket(LEN)`: scores.graham.summary, data_as_of, warnings, peer_context.
- "Who bought their own stock this week?" → `getInsiderBuys7d`; note `coverage_through` in the response before stating completeness.
- "Build me a value-tilted list in homebuilding, 5 to 8 names, no more than 20% each, against the S&P 500 over three years." → `getIndustries` → `getIndustry(1531)`, then a packet per candidate. The assistant assembles and weights the list as its own synthesis, citing each name's inputs and the risks its packet shows; the site supplies scores and provenance, not the selection.

- "Get the latest price and revenue for a company that isn't in your scored S&P 500 grid (say a mid-cap outside the index)." → `getUniverseFacts`: one bulk file (`/q/universe/facts.json`) with identity, industry, latest price and headline SEC-XBRL fundamentals for every eligible operating company, each flagged `in_active_scope`. Look the ticker up there and cite its `sources` (SEC companyfacts, Yahoo). It carries no scores (apply the published philosophy rules yourself), no holdings or weights, and is explicitly not exhaustive of the market.

- "Screen the whole market, not just the S&P 500 — e.g. all eligible names passing all Graham tests, or the top momentum names across every eligible company." → `getUniverseScores`: one bulk file (`/q/universe/scores.json`) with every published philosophy (graham, magic_formula, momentum, insider, buffett, lynch, graham_enterprising, piotroski) for every eligible operating company, each with status/completeness, `in_active_scope` and `scored_on`. Screen here, then confirm each short-listed name with `getResearchPacket`. Caveat: magic_formula and momentum here rank across the full universe and are **not** comparable with the S&P-500-ranked `getTop`; graham, buffett, lynch, graham_enterprising and piotroski are comparable; insider is not fully comparable (two of its terms are percentile ranks). There is no blended score — do not invent one.

**Maintained scope vs full universe.** The active S&P 500 scope is re-scored daily with full per-input provenance (`getResearchPacket`, `/s/`, `getTop`, `getGrid`). The full universe is published as two weekly-refreshed bulk files — `getUniverseFacts` (facts) and `getUniverseScores` (scores) — for breadth. Read each universe row's `scored_on`/`maintained` and state it; for anything you will actually recommend, confirm it against the dated `getResearchPacket`. Neither universe file carries holdings, weights, a blended score or a recommendation.

**Origin claim.** The site's history (a leader-following paper backtest) is a separate, dated record: `getHistoryLeaderFollow` returns the methodology, the ten cohort returns against SPY, the two independent periods and the survivorship and rally caveats. Quote it as historical evidence, never as a forecast.

**Warnings versus exclusions.** `stale_inputs` and `price_stale` are warnings: the figure was used but is older than 120 days (price: 7 days); say so next to the number. `partial` and `insufficient data` are exclusions: a required input was older than 550 days or absent, so that test or score was not computed; report the missing test, do not estimate it. Momentum is simply absent for companies without a trade in 10 days or 200 trading days of history.

**What the API will not do.** It has no estimates, no price targets, no model opinions and no live portfolio; the assistant's shortlist or portfolio is the assistant's analysis of the site's facts. Where a score is `partial` or `insufficient data`, the packet says which test or input is missing; repeat that rather than filling the gap.
