Skip to main content

Overview

The Chartcastr Public API is a small, read-only REST surface for fetching your data sources and the latest pulse for each — the chart image, the short AI summary, and the long AI analysis. It’s the same data you see in your dashboard, available programmatically for embeds, internal tools, AI agents, or any integration project that needs structured access to your delivered insights.
For richer agent-style access (search, verify, deep links) use the MCP integrations — Claude, ChatGPT, Cursor, and Codex all connect via API key.

Base URL

The same routes are also reachable at https://api.chartcastr.com/v1 (the production server uses both hosts).

Authentication

All requests require an API key passed in the X-API-Key header.
Generate keys from Settings → API Keys in your Chartcastr dashboard. Each key is scoped to a single account. Default expiry is 90 days.
API keys are shown once at creation time. Store them securely — if you lose a key you must revoke and regenerate.

Verify your key

There’s no dedicated /ping endpoint — instead, call GET /v1/sources to confirm a key works. Every successful response includes a meta.account object, so this single call doubles as both an access check and your first useful query. 200 means the key resolved; 401 means it’s missing, invalid, or expired.
Use this any time you want to confirm a key works before running a heavier integration flow. The response also tells you which account/email the key is bound to.Request
Success — 200
Failure — 401
In CI/CD or onboarding flows, branch on the HTTP status: 200 → key works, 401 → prompt the user to regenerate, 429 → back off and retry.

Common failure modes

Response Shape

Every successful response includes a meta object so you can confirm which account the key resolved to:

Errors

Error bodies follow the shape:

Rate Limits

Public API endpoints are rate limited to 60 requests per minute per API key. Each response includes the current window state in headers:

OpenAPI Spec

The full machine-readable spec is served at:
You can paste this directly into Postman, Insomnia, or any OpenAPI-aware tool to generate a typed client.

Endpoints

Sources

List configured data sources.

Pulses

Fetch the latest pulse for a source.