AI Agent Skill
Copy the SKILL.md below into your project to teach AI coding agents how to use the TradingNews API. Works with Claude Code, Cursor, GitHub Copilot, and other AI tools.Full Skill Content
TradingNews provides a unified, real-time financial news API. It aggregates breaking news from multiple curated sources into a single structured stream.Base URL
Authentication
All requests require an API key via theX-API-Key header:
Plans
| Plan | Price | REST Rate Limit | WebSocket | Semantic Search | Per-Ticker Sentiment |
|---|---|---|---|---|---|
| Starter | $20/mo | 1 req/min | No | No | No |
| Pro | $50/mo | 30 req/min | Yes (1 connection) | No | No |
| Max | $100/mo | 60 req/min | Yes (1 connection) | Yes | Yes |
REST API
GET /v1/news — List articles
limit(int, 1-100, default 50) — number of articlesurgency(string, optional) — filter:breaking,flash, orregularsince(ISO datetime, optional) — articles after this time (Starter: 24h max, Pro: 7 days max)
| Field | Type | Description |
|---|---|---|
id | string | Unique ULID, sortable by time |
content | string | Article text |
urgency | string | breaking, flash, or regular |
sentiment | string? | Sentiment label (when available) |
published_at | string | ISO 8601 publication time |
received_at | string | ISO 8601 time API received it |
tickers | object[] | Max only. Per-ticker sentiment, e.g. [{"ticker": "AAPL", "sentiment": "positive"}]. Empty array when no tickers detected. Absent on Starter/Pro. |
since lookback is capped at 24h for Starter and 7 days for Pro/Max.
GET /v1/news/search — Semantic search (Max only)
q(string, 2-500 chars, required) — natural-language querylimit(int, 1-100, default 20)
403. Returns 503 if the embedding service is temporarily unavailable — retry with backoff.
GET /v1/account/usage — Check your plan
tier is one of starter, pro, max, expired (7-day grace at 1 req/min after cancellation), or free (never subscribed — blocked from API access). This endpoint is free (does not count toward rate limit).
WebSocket Streaming (Pro and Max)
Connect for real-time push delivery of all articles as they arrive:- No subscription message needed — connect and receive (firehose)
- Pro or Max plan required — Starter keys get rejected (code 1008)
- 1 connection per user — second connection is rejected
- Articles arrive as JSON, same format as REST
- Max streams include the
tickersfield on each message; Pro streams omit it - Subscription status is re-checked every 5 minutes — expired subs are dropped with code 1008
Python example
Reconnection pattern
Error Handling
| Status | Meaning | Action |
|---|---|---|
| 401 | Invalid or missing API key | Check X-API-Key header |
| 403 | Subscription expired or inactive key | Renew subscription |
| 404 | Article not found | Normal — no charge |
| 429 | Rate limit exceeded | Wait and retry |
Python Integration Example
Node.js Integration Example
Common Patterns
Poll for new articles (Starter)
News-driven trading signal
Docs & Support
- Full API docs: https://docs.tradingnews.press
- Dashboard: https://tradingnews.press/dashboard
- Status: https://tradingnews.press/status