API
Login
/api/v1/topics"tagline": "…""uuid": "1196c12c""headline": "…""page": 0"page": 0sandmark-mcp-endpoint"topics": [Ocp-Apim-Subscription-Key"page": 0200 OK"source": "Sandmark""total": 2613200 OK200 OK/api/v1/articles?topics="primary_topic"c56f4407-ed85getListOfTopics()meta.pagessort=published_at200 OK"source": "Sandmark"getListOfArticleTypes()getListOfArticleTypes()Ocp-Apim-Subscription-Key"total": 2613429 rate_limited"topics": ["tagline": "…"sandmark-mcp-endpoint"tagline": "…"
/api/v1/topics"tagline": "…""uuid": "1196c12c""headline": "…""page": 0"page": 0sandmark-mcp-endpoint"topics": [Ocp-Apim-Subscription-Key"page": 0200 OK"source": "Sandmark""total": 2613200 OK200 OK/api/v1/articles?topics="primary_topic"c56f4407-ed85getListOfTopics()meta.pagessort=published_at200 OK"source": "Sandmark"getListOfArticleTypes()getListOfArticleTypes()Ocp-Apim-Subscription-Key"total": 2613429 rate_limited"topics": ["tagline": "…"sandmark-mcp-endpoint"tagline": "…"
"page": 0429 rate_limitedsort=published_atGET /api/v1/articlessort=published_at"headline": "…""headline": "…""primary_topic""source": "Sandmark"getListOfTopics()GET /api/v1/articles"language": "en"/api/v1/articles?topics="published_at""total": 2613GET /api/v1/articles"name": "Stablecoin"meta.pages"body": { "value" }"source": "Sandmark""headline": "…"meta.pages••••••••••••"uuid": "1196c12c"sandmark-mcp-endpointmeta.pagesOcp-Apim-Subscription-Key/api/v1/articles?topics=meta.pagesc56f4407-ed85sandmark-mcp-endpoint429 rate_limited
"page": 0429 rate_limitedsort=published_atGET /api/v1/articlessort=published_at"headline": "…""headline": "…""primary_topic""source": "Sandmark"getListOfTopics()GET /api/v1/articles"language": "en"/api/v1/articles?topics="published_at""total": 2613GET /api/v1/articles"name": "Stablecoin"meta.pages"body": { "value" }"source": "Sandmark""headline": "…"meta.pages••••••••••••"uuid": "1196c12c"sandmark-mcp-endpointmeta.pagesOcp-Apim-Subscription-Key/api/v1/articles?topics=meta.pagesc56f4407-ed85sandmark-mcp-endpoint429 rate_limited
/api/v1/topics"page": 0/api/v1/articles?topics="tagline": "…""page": 0"body": { "value" }"page": 0••••••••••••"language": "en"meta.pagesGET /api/v1/articles••••••••••••"published_at"/api/v1/topics200 OK"primary_topic""topics": ["uuid": "1196c12c""primary_topic""tagline": "…""total": 2613"body": { "value" }"published_at""source": "Sandmark""tagline": "…"Ocp-Apim-Subscription-Key••••••••••••/api/v1/topics"total": 2613"total": 2613"topics": [meta.pages
/api/v1/topics"page": 0/api/v1/articles?topics="tagline": "…""page": 0"body": { "value" }"page": 0••••••••••••"language": "en"meta.pagesGET /api/v1/articles••••••••••••"published_at"/api/v1/topics200 OK"primary_topic""topics": ["uuid": "1196c12c""primary_topic""tagline": "…""total": 2613"body": { "value" }"published_at""source": "Sandmark""tagline": "…"Ocp-Apim-Subscription-Key••••••••••••/api/v1/topics"total": 2613"total": 2613"topics": [meta.pages
"total": 2613sort=published_atc56f4407-ed85"headline": "…"/api/v1/topics"tagline": "…"GET /api/v1/articlesmeta.pagesGET /api/v1/articlesmeta.pagesgetListOfArticleTypes()sort=published_at/api/v1/articles?topics="language": "en"c56f4407-ed85"name": "Stablecoin""source": "Sandmark""language": "en"getListOfArticles()"headline": "…""topics": [GET /api/v1/articlesgetListOfArticles()GET /api/v1/articlessort=published_at"body": { "value" }/api/v1/articles?topics="uuid": "1196c12c"meta.pagesGET /api/v1/articles"primary_topic""primary_topic"
"total": 2613sort=published_atc56f4407-ed85"headline": "…"/api/v1/topics"tagline": "…"GET /api/v1/articlesmeta.pagesGET /api/v1/articlesmeta.pagesgetListOfArticleTypes()sort=published_at/api/v1/articles?topics="language": "en"c56f4407-ed85"name": "Stablecoin""source": "Sandmark""language": "en"getListOfArticles()"headline": "…""topics": [GET /api/v1/articlesgetListOfArticles()GET /api/v1/articlessort=published_at"body": { "value" }/api/v1/articles?topics="uuid": "1196c12c"meta.pagesGET /api/v1/articles"primary_topic""primary_topic"
"name": "Stablecoin""published_at""headline": "…""language": "en""published_at"sandmark-mcp-endpoint"primary_topic""body": { "value" }••••••••••••"page": 0"tagline": "…"GET /api/v1/articlesGET /api/v1/articles"language": "en"200 OK200 OK••••••••••••"source": "Sandmark"getListOfArticleTypes()"language": "en"sandmark-mcp-endpoint"primary_topic""source": "Sandmark"GET /api/v1/articlesOcp-Apim-Subscription-Key"topics": [429 rate_limited"source": "Sandmark"/api/v1/articles?topics=sandmark-mcp-endpoint"page": 0"uuid": "1196c12c"
"name": "Stablecoin""published_at""headline": "…""language": "en""published_at"sandmark-mcp-endpoint"primary_topic""body": { "value" }••••••••••••"page": 0"tagline": "…"GET /api/v1/articlesGET /api/v1/articles"language": "en"200 OK200 OK••••••••••••"source": "Sandmark"getListOfArticleTypes()"language": "en"sandmark-mcp-endpoint"primary_topic""source": "Sandmark"GET /api/v1/articlesOcp-Apim-Subscription-Key"topics": [429 rate_limited"source": "Sandmark"/api/v1/articles?topics=sandmark-mcp-endpoint"page": 0"uuid": "1196c12c"
"language": "en"sort=published_at"primary_topic"Ocp-Apim-Subscription-Key"name": "Stablecoin"sort=published_at"tagline": "…"sandmark-mcp-endpointmeta.pages"total": 2613"page": 0"name": "Stablecoin"GET /api/v1/articlesc56f4407-ed85"tagline": "…"GET /api/v1/articles"topics": [getListOfTopics()/api/v1/topicsc56f4407-ed85429 rate_limited"published_at"429 rate_limited"body": { "value" }getListOfArticleTypes()sandmark-mcp-endpointgetListOfTopics()200 OK"name": "Stablecoin"GET /api/v1/articles"source": "Sandmark"sort=published_at
"language": "en"sort=published_at"primary_topic"Ocp-Apim-Subscription-Key"name": "Stablecoin"sort=published_at"tagline": "…"sandmark-mcp-endpointmeta.pages"total": 2613"page": 0"name": "Stablecoin"GET /api/v1/articlesc56f4407-ed85"tagline": "…"GET /api/v1/articles"topics": [getListOfTopics()/api/v1/topicsc56f4407-ed85429 rate_limited"published_at"429 rate_limited"body": { "value" }getListOfArticleTypes()sandmark-mcp-endpointgetListOfTopics()200 OK"name": "Stablecoin"GET /api/v1/articles"source": "Sandmark"sort=published_at
"page": 0429 rate_limitedgetListOfTopics()meta.pages/api/v1/topics"name": "Stablecoin""page": 0"tagline": "…""topics": [429 rate_limited"source": "Sandmark"sort=published_atGET /api/v1/articlesmeta.pages"page": 0"uuid": "1196c12c""published_at""name": "Stablecoin"sandmark-mcp-endpoint"page": 0getListOfArticles()getListOfArticleTypes()"page": 0getListOfTopics()/api/v1/articles?topics=getListOfArticleTypes()••••••••••••sort=published_at/api/v1/topics"topics": [••••••••••••meta.pages
"page": 0429 rate_limitedgetListOfTopics()meta.pages/api/v1/topics"name": "Stablecoin""page": 0"tagline": "…""topics": [429 rate_limited"source": "Sandmark"sort=published_atGET /api/v1/articlesmeta.pages"page": 0"uuid": "1196c12c""published_at""name": "Stablecoin"sandmark-mcp-endpoint"page": 0getListOfArticles()getListOfArticleTypes()"page": 0getListOfTopics()/api/v1/articles?topics=getListOfArticleTypes()••••••••••••sort=published_at/api/v1/topics"topics": [••••••••••••meta.pages
"topics": [sandmark-mcp-endpoint"language": "en""headline": "…"/api/v1/articles?topics="name": "Stablecoin""headline": "…"/api/v1/articles?topics=Ocp-Apim-Subscription-Key200 OK200 OK"language": "en""topics": ["headline": "…"sandmark-mcp-endpoint"body": { "value" }429 rate_limited429 rate_limited"total": 2613GET /api/v1/articles"total": 2613/api/v1/topics"language": "en"200 OK429 rate_limitedgetListOfTopics()getListOfTopics()"language": "en"200 OK/api/v1/articles?topics=getListOfArticleTypes()GET /api/v1/articles
"topics": [sandmark-mcp-endpoint"language": "en""headline": "…"/api/v1/articles?topics="name": "Stablecoin""headline": "…"/api/v1/articles?topics=Ocp-Apim-Subscription-Key200 OK200 OK"language": "en""topics": ["headline": "…"sandmark-mcp-endpoint"body": { "value" }429 rate_limited429 rate_limited"total": 2613GET /api/v1/articles"total": 2613/api/v1/topics"language": "en"200 OK429 rate_limitedgetListOfTopics()getListOfTopics()"language": "en"200 OK/api/v1/articles?topics=getListOfArticleTypes()GET /api/v1/articles
"primary_topic"getListOfArticleTypes()/api/v1/articles?topics=200 OKsort=published_atgetListOfArticleTypes()/api/v1/articles?topics=sandmark-mcp-endpoint"topics": ["language": "en"getListOfTopics()200 OK"primary_topic""language": "en""language": "en"429 rate_limited"total": 2613/api/v1/topics"tagline": "…""topics": ["language": "en"200 OK"language": "en"/api/v1/articles?topics=getListOfArticleTypes()sort=published_at"topics": [/api/v1/articles?topics="tagline": "…""body": { "value" }GET /api/v1/articles"tagline": "…"
"primary_topic"getListOfArticleTypes()/api/v1/articles?topics=200 OKsort=published_atgetListOfArticleTypes()/api/v1/articles?topics=sandmark-mcp-endpoint"topics": ["language": "en"getListOfTopics()200 OK"primary_topic""language": "en""language": "en"429 rate_limited"total": 2613/api/v1/topics"tagline": "…""topics": ["language": "en"200 OK"language": "en"/api/v1/articles?topics=getListOfArticleTypes()sort=published_at"topics": [/api/v1/articles?topics="tagline": "…""body": { "value" }GET /api/v1/articles"tagline": "…"
"tagline": "…"sort=published_at"source": "Sandmark""language": "en""uuid": "1196c12c"sandmark-mcp-endpoint"body": { "value" }"language": "en"/api/v1/articles?topics=/api/v1/topics"published_at""uuid": "1196c12c"GET /api/v1/articles"source": "Sandmark""name": "Stablecoin""topics": [/api/v1/topics/api/v1/topics200 OK"page": 0"published_at""name": "Stablecoin""name": "Stablecoin""source": "Sandmark""name": "Stablecoin""source": "Sandmark"c56f4407-ed85/api/v1/topics"topics": ["published_at"200 OKsandmark-mcp-endpoint
"tagline": "…"sort=published_at"source": "Sandmark""language": "en""uuid": "1196c12c"sandmark-mcp-endpoint"body": { "value" }"language": "en"/api/v1/articles?topics=/api/v1/topics"published_at""uuid": "1196c12c"GET /api/v1/articles"source": "Sandmark""name": "Stablecoin""topics": [/api/v1/topics/api/v1/topics200 OK"page": 0"published_at""name": "Stablecoin""name": "Stablecoin""source": "Sandmark""name": "Stablecoin""source": "Sandmark"c56f4407-ed85/api/v1/topics"topics": ["published_at"200 OKsandmark-mcp-endpoint
/api/v1/articles?topics=c56f4407-ed85c56f4407-ed85GET /api/v1/articles429 rate_limited"source": "Sandmark""topics": ["headline": "…""page": 0"headline": "…""uuid": "1196c12c""headline": "…""language": "en""uuid": "1196c12c"200 OK"uuid": "1196c12c""uuid": "1196c12c"/api/v1/articles?topics="language": "en""language": "en""primary_topic"sandmark-mcp-endpoint/api/v1/articles?topics="topics": ["topics": ["page": 0GET /api/v1/articlesGET /api/v1/articles"tagline": "…""language": "en"/api/v1/articles?topics=200 OK
/api/v1/articles?topics=c56f4407-ed85c56f4407-ed85GET /api/v1/articles429 rate_limited"source": "Sandmark""topics": ["headline": "…""page": 0"headline": "…""uuid": "1196c12c""headline": "…""language": "en""uuid": "1196c12c"200 OK"uuid": "1196c12c""uuid": "1196c12c"/api/v1/articles?topics="language": "en""language": "en""primary_topic"sandmark-mcp-endpoint/api/v1/articles?topics="topics": ["topics": ["page": 0GET /api/v1/articlesGET /api/v1/articles"tagline": "…""language": "en"/api/v1/articles?topics=200 OK

Power market products
with newsroom signals

The content API for Sandmark's journalism — articles, sentiment and entities at scale. It's also MCP-ready.

By topicArticlesTopicsAssets
WHAT'S INSIDE

A decade of coverage, four kinds of content

Market analysis

topic: markets, macro

Daily desk analysis of rates, FX, equities and commodities — the interpretive layer between the tape and the story, written by the Sandmark markets desk and published within minutes of the move.

~40 pieces / day · sentiment + entities on every one

Features & deep dives

topic: features

Long-form investigations and company deep dives — the pieces readers subscribe for, with full body text, pull quotes and per-section entity maps available from the Developer tier up.

2–3 / week · avg. 3,500 words, fully structured

Assets

/v1/assets

Every ticker, company and commodity Sandmark covers — with rolling sentiment, coverage counts and the articles behind them, ready to join against your own data.

30k+ instruments · sentiment per asset

Exclusive research

Enterprise

Subscriber-only research notes, the raw sentiment index history and pre-publication embargoed data — API-only content that never appears on the public site, under an Enterprise licence.

Embargoed feeds · custom taxonomies · backfills
SETUP

Three steps. About a minute.

See our GitHub repo
1

Generate a key.

Any tier — Free needs no card. Keys are prefixed sk_live_ and shown once.

2

Drop it into your client.

Claude DesktopClaude CodeCursorcURL

Add to claude_desktop_config.json alongside any existing keys, then restart Claude Desktop.

// claude_desktop_config.json
{
  "mcpServers": {
    "sandmark": {
      "url": "https://api.lab.sandmark.com/sandmark-mcp-endpoint/mcp",
      "headers": { "Ocp-Apim-Subscription-Key": "<your-subscription-key>" }
    }
  }
}
3

Ask anything.

Your client discovers the tools automatically. Try "What moved bitcoin this week?" or "Summarise today's macro coverage and its sentiment."

ONE HEADLINE, DISSECTED

Chip suppliers rally as export rules reverse and foundry capex guidance climbs

Every article ships with the signals underneath the prose: per-entity salience, per-entity sentiment, topic and tickers — the same pipeline behind the Sandmark market-feelings barometer.

ENTITY SALIENCE
Chip suppliersPOS0.91
Export rulesPOS0.74
Foundry capexNEU0.62
TSMCPOS0.48
"sentiment": "pos" · "topic": "semiconductors"
claude · connected to sandmark
What moved bitcoin this week, and how negative is the coverage?
→ search_articles(q="bitcoin", from="-7d")
→ get_sentiment(topic="crypto")
Coverage is net-positive (0.64): record ETF inflows and a fresh all-time high dominate; the only negative thread is miner margins after the halving…
MCP SERVER

Plug the newsroom into your agent

The same API, exposed as MCP tools — search, articles, topics and the sentiment index — so Claude, Cursor or any MCP client can cite Sandmark coverage inside a conversation. One endpoint, authenticated with your existing key.

MCPhttps://api.lab.sandmark.com/sandmark-mcp-endpoint/mcp
Set up the MCP server →

Six endpoints. One key.

Read the reference →
GET/api/v1/articlesList articles
GET/api/v1/articles/{uuid}Retrieve article
GET/api/v1/topicsList topics
GET/api/v1/article-typesList article types
GET/api/v1/assetsList media assets
GET/api/v1/media/{uuid}/fileDownload media file