News & entries
QuantConomy continuously ingests articles from thousands of feeds and runs each one through a machine-learning pipeline. The result is the entries dataset — articles enriched with sentiment, named entities, asset and topic links, and embeddings — plus three supporting datasets that organize them: clusters (related-story groups), topics (an economic taxonomy), and publishers (the news sources).
Entries
Section titled “Entries”An entry is a single news article after ML processing. Each entry carries:
sentimentScore— a sentiment value from-1(very negative) to1(very positive).assetKeys— financial assets mentioned in the article, derived from named-entity recognition (e.g.us_stock_AAPL,crypto_BTC). Resolve these with the Assets API.topicSlugs— topics the article was classified into (e.g.interest-rates,technology).language— the detected language code (en,de,zh, …).- An embedding — a vector representation used for semantic search and clustering (never returned in responses, but searchable).
The detail endpoint additionally returns the full content, the related assets (with confidence scores), topics (with similarity scores), and the sources that published the article.
Endpoints
Section titled “Endpoints”| Method & path | Description | Credits |
|---|---|---|
GET /entries | List entries (cursor pagination, filtering, sorting) | 1 |
GET /entries?query=<text> | Embedding-based natural-language (semantic) search | 2 |
GET /entries/:id | Single entry with full content and related entities | 1 |
GET /entries (no query) uses cursor-based pagination: pass the nextCursor from the previous response back as the after query param to page through older items, or use prevCursor with before for newer items. The demo key (mtk_demo) is capped at 3 results, cannot paginate, and cannot use the advanced filters (topicSlug, assetKey, publisherSlug, language, countryCode, sentimentScoreMin/sentimentScoreMax, publishedAfter/publishedBefore, hasAssets); your own key can return up to 100 and use all of them. Sort with sortBy (createdAt:desc default, plus createdAt:asc, publishedAt:desc, publishedAt:asc).
?query= is semantic by default: a natural-language query is embedded with the same model used for entry embeddings and ranked by cosine similarity via Qdrant (a UUID or a source:/publisher:/topic:/asset: prefix instead does an exact/keyword lookup). It returns up to 50 results (3 on the demo key), accepts an optional maxAgeHours to restrict matches to recent entries, and ignores sortBy/cursors/filters in semantic mode. See the Semantic search guide for details.
Example
Section titled “Example”Find recent positive-sentiment articles that mention Apple stock:
curl "https://api.quantconomy.com/api/v1/entries?assetKey=us_stock_AAPL&sentimentScoreMin=0.3&limit=5&sortBy=publishedAt:desc" \ -H "Authorization: Bearer mtk_your_key_here"const params = new URLSearchParams({ assetKey: 'us_stock_AAPL', sentimentScoreMin: '0.3', limit: '5', sortBy: 'publishedAt:desc',});
const res = await fetch(`https://api.quantconomy.com/api/v1/entries?${params}`, { headers: { Authorization: 'Bearer mtk_your_key_here' },});const { data, meta } = await res.json();console.log(data, meta.nextCursor);import requests
res = requests.get( "https://api.quantconomy.com/api/v1/entries", headers={"Authorization": "Bearer mtk_your_key_here"}, params={ "assetKey": "us_stock_AAPL", "sentimentScoreMin": 0.3, "limit": 5, "sortBy": "publishedAt:desc", },)res.raise_for_status()body = res.json()print(body["data"], body["meta"]["nextCursor"])Clusters
Section titled “Clusters”A cluster groups news entries that cover the same story or event. Clusters are generated from the semantic similarity of article embeddings, which makes them a fast way to surface trending stories and aggregate coverage from multiple sources.
Each cluster summary has a name, an entryCount, and timestamps. The detail endpoint returns every member entry along with a probability — how strongly each entry belongs to the cluster.
Endpoints
Section titled “Endpoints”| Method & path | Description | Credits |
|---|---|---|
GET /clusters | List clusters (page-based pagination) | 1 |
GET /clusters/:id | Single cluster with all member entries | 1 |
Clusters use page-based pagination (page + limit), unlike entries. Entry embeddings are excluded from the cluster detail response for performance — use the Entries API for full entry detail.
curl "https://api.quantconomy.com/api/v1/clusters?query=Federal%20Reserve&limit=5" \ -H "Authorization: Bearer mtk_your_key_here"Topics
Section titled “Topics”Topics are an economic taxonomy used to classify entries — economic concepts (Interest Rates, Inflation, GDP), events (Earnings Reports, IPOs, M&A), sectors (Technology, Healthcare, Energy), and regions (United States, Europe, Asia). Each topic has a stable slug and name, and topics form a hierarchy.
Endpoints
Section titled “Endpoints”| Method & path | Description | Credits |
|---|---|---|
GET /topics | List topics (page-based, searchable, sortable) | 1 |
GET /topics/tree | Full topic hierarchy as a flat array with parentId references | 1 |
GET /topics/:id/entries | Entries classified under a topic (cursor pagination) | 1 |
GET /topics/:id | Single topic | 1 |
GET /topics/tree returns every topic flattened, each with a parentId (null for root topics) so you can rebuild the navigation tree. The :id segment on the detail and entries endpoints accepts either a slug (e.g. interest-rates) or a UUID.
# Browse the taxonomycurl "https://api.quantconomy.com/api/v1/topics/tree" \ -H "Authorization: Bearer mtk_your_key_here"
# Entries about interest ratescurl "https://api.quantconomy.com/api/v1/topics/interest-rates/entries?limit=10" \ -H "Authorization: Bearer mtk_your_key_here"Publishers
Section titled “Publishers”A publisher is a news source — a newspaper, news agency, blog, or website. Publishers carry a slug, name, countryCode, and languageCode, which you can use to filter the entries feed by source, country, or language.
Endpoints
Section titled “Endpoints”| Method & path | Description | Credits |
|---|---|---|
GET /publishers | List publishers (filter by countryCode, languageCode) | 1 |
GET /publishers/:idOrSlug | Single publisher (by UUID or slug) | 1 |
curl "https://api.quantconomy.com/api/v1/publishers?countryCode=US&languageCode=en&limit=10" \ -H "Authorization: Bearer mtk_your_key_here"To pull every entry from a given publisher, combine the publisher’s slug with the entries feed: GET /entries?publisherSlug=reuters (authenticated only).
How they fit together
Section titled “How they fit together”Entries are the core dataset; the others give you different ways into it:
- By story —
GET /clustersthenGET /clusters/:idto read all coverage of one event. - By theme —
GET /topics/treeto browse the taxonomy, thenGET /topics/:slug/entries. - By source —
GET /publishersthenGET /entries?publisherSlug=.... - By meaning —
GET /entries?query=<text>for natural-language (semantic) lookup.