AlphaAI Symbols API

Active equity, crypto, and foreign symbols (tickers).

Operations 10

GET /api/symbols/ List active tickers #
GET /api/symbols/{ticker}/ Symbol detail #
GET /api/symbols/{ticker}/sentiment-summary/ 7-day AI sentiment rollup for one ticker #
GET /api/symbols/{ticker}/insider-summary/ 30-day insider-transaction rollup for one ticker #
GET /api/symbols/{ticker}/earnings/ AlphAI earnings reads for one ticker, plus its next report date #
GET /api/symbols/{ticker}/earnings/latest/ Most recent AlphAI earnings read for one ticker #
GET /api/symbols/{ticker}/insider-trades/ Form 4 event history and chart aggregates for one ticker #
GET /api/symbols/{ticker}/peers/ Related tickers for one ticker #
GET /api/symbols/directory/ Stock directory — most-covered tickers and sector cards #
GET /api/symbols/sectors/{slug}/ One sector's most-covered tickers #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/alphaai:alphaai-symbols-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

alphaai-symbols-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: AlphAI REST Symbols API
  version: 1.52.0
  description: 'Public REST API for AlphAI''s relevance-scored, ticker-linked financial news. All endpoints accept `Authorization: Bearer ak_live_…` (issued from your

    `/account/api-keys`). Authenticated traffic is metered per account with two

    layers — a per-minute burst cap and a per-day volume cap (Free 20/min +

    100/day, Basic 60/min + 10,000/day, Pro 150/min + 100,000/day); a request

    passes only if both are under budget. The Free tier is for evaluation /

    personal non-commercial use; Basic is licensed for internal commercial use;

    Pro adds redistribution of the enriched feed. Send all API traffic to

    `api.alphai.io`; a key is required on every request. The API is server-side only. It sends no CORS headers, so a cross-origin

    call from a browser page fails at the preflight: the `OPTIONS` request is

    answered with `403` at the edge and never reaches the API. Keep the key on

    your server and expose your own route to the browser; a key embedded in

    page code is readable by every visitor and spends your quota. Every keyed response carries `X-RateLimit-Limit`, `X-RateLimit-Remaining`

    and `X-RateLimit-Reset`; these report the per-day volume layer (Reset =

    epoch seconds of the next 00:00 UTC reset) so you can watch your daily budget

    without provoking a 429. A per-minute burst surfaces only as a 429 with a

    short `Retry-After`. A 429 body also names your tier, its caps and an

    `upgrade` block. A request rejected with 429 does not itself spend quota. The headers reflect origin processing, so a response served from a shared

    cache may omit them. On the MCP server (`mcp.alphai.io`) the same two layers meter **tool calls

    only** — the connect handshake (`initialize`, `tools/list`, notifications,

    keepalives, the SSE stream) is protocol traffic and does not consume your

    quota. It carries a separate, far larger ceiling that exists only to stop a

    client reconnecting in a loop; hitting it returns a 429 whose body reports

    `"window": "transport"`, which means your client is reconnecting too often,

    not that you are out of quota. MCP news tools accept `detail="compact"` for headline triage and polling:

    `alphai_news_search`, `alphai_ticker_news`, `alphai_insider_news`,

    `alphai_trending`, `alphai_actionable_now`, `alphai_macro` and

    `alphai_pair_analysis`. Compact items keep identity, source, publication

    and ingest times, tickers, category, relevance_score, top-level

    actionability and information_novelty, story fields, ownership_form and

    search_match. Summary, analysis, images and SEC detail blocks are omitted;

    fetch `alphai_article(uid)` for those details. `detail="full"` is the

    default and preserves the existing format, including the condensed recent

    lists on pair_analysis. Selection, order, cursors, query interpretation

    and macro releases are unchanged, so detail can change between pages. This parameter belongs to MCP tools only; REST parameters are unchanged. Interactive MCP clients use a separate OAuth approval flow. Check the

    callback host or app scheme and full callback address before approving;

    app names are self-declared, not verified by AlphAI. MCP access includes

    news, market data and the saved watchlist, plus creating, changing and

    disabling the user''s own alerts on Basic or Pro (including after an

    upgrade). The OAuth scope `tools.read` is not a read-only restriction. Registered callbacks can be reviewed in Account → MCP connections. That account management surface requires website login, not an API key. Disconnect blocks all existing MCP OAuth access and refresh tokens for that

    app connection, including its other sessions; work already in progress may

    finish. Other connections and API keys are unaffected. Revoking either token

    type through the separate MCP host''s `/oauth/revoke` has the same effect. Serialize refresh requests and save each replacement token: reuse ends the

    connection.'
  contact:
    name: alphai support
    email: support@alphai.io
    url: https://alphai.io/contact
  license:
    name: Proprietary
servers:
- url: https://api.alphai.io
  description: Production (API host — key required)
security:
- apiKey: []
tags:


# --- truncated at 32 KB (54 KB total) ---
# Full source: https://artifacts.apis.io/alphaai/openapi/alphaai-symbols-api-openapi.yml