Developer reference

Connect through MCP, REST or function calling. If you just want to ask your assistant about a company, start with the plain-language setup guide.

Remote MCP

Use https://www.newsbeat.dev/api/mcp with a host that supports Streamable HTTP. Public reads need no API key. Client configuration formats vary; for hosts that accept a mcpServers configuration:

MCP configuration
{
  "mcpServers": {
    "newsbeat": {
      "url": "https://www.newsbeat.dev/api/mcp"
    }
  }
}

The server advertises six read-only tools and guidance on when to use them. The host decides when tools run and enforces its own approvals. Custom remote connections are not available in every assistant or account; this endpoint does not imply directory approval.

Help the agent choose the right moment

Ask the agent to check news when current developments matter to the user’s task. It should resolve the company first, retrieve evidence, and include sources and freshness in its answer. The same instruction works for an assistant’s custom instructions or your agent’s system prompt.

Instruction for your assistant

When answering my questions, use NewsBeat whenever recent company or crypto news would help. Check the right company or asset, include sources and dates, and tell me if coverage is missing or out of date. Do not rely only on memory for current developments. Use it within the task I have asked for; only set up recurring checks or notifications if I ask.

Six tools and their REST routes

Prefix REST routes with https://www.newsbeat.dev/api. Most reads use GET; batched watch uses POST.

ToolPurposeREST route
newsbeat_topicsFind a supported company or crypto asset.GET /v2/topics?q=nvidia
newsbeat_newsRead latest headlines and establish a baseline cursor.GET /v2/news?beat_id=…
newsbeat_changesRead newly indexed items after a saved cursor.GET /v2/changes?beat_id=…&cursor=…
newsbeat_briefGet the top three headlines verbatim with sources and times.GET /v2/brief?beat_id=…
newsbeat_storiesGroup similar headlines approximately.GET /v2/stories?beat_id=…
newsbeat_watchCheck up to 50 assets in one request; does not create a schedule.POST /v2/watch

First REST requests

Find Nvidia, then read its news
curl -s "https://www.newsbeat.dev/api/v2/topics?q=nvidia"

curl -s "https://www.newsbeat.dev/api/v2/news?beat_id=b_bb964843350e"

Use the returned beat_id; never generate one from a name or ticker. Confirm the asset type when names overlap. Catalog requests support q, limitand offset. Follow next_offset while has_more is true. The MCP topic tool uses a query argument instead of q.

Follow-up checks and history

A news page includes up to eight items, a cursor, a history_cursorand freshness. Store the change cursor with its asset after processing the page. On a later check, pass it to /v2/changes. Process each returned page before advancing its cursor and continue while has_more is true.

Replace the placeholder with the saved change cursor
curl -sG "https://www.newsbeat.dev/api/v2/changes" \
  --data-urlencode "beat_id=b_bb964843350e" \
  --data-urlencode "cursor=<saved-cursor>"

For older articles, send history_cursor as the before parameter to /v2/news. History and change cursors are different; do not interchange them. An empty page is a valid result. Check freshness before concluding that coverage is current.

For a watchlist, POST JSON in the form {"watches":[{"beat_id":"…","cursor":"…"}]}to /v2/watch. A missing cursor starts a baseline for that entry. Each result succeeds or fails independently. This checks the list once; your host must manage any schedule.

Function calling

Fetch https://www.newsbeat.dev/api/v2/tools for OpenAI-compatible function schemas. Your application executes the selected call and returns the result to the model. See the working examples.

Access and limits

Anonymous public reads are free during early access, limited to 120 requests per minute. Optional API keys raise the request limit to 1,200 per minute. Keyed REST calls are metered against a $5 trial balance and return 402 when it is exhausted. Stripe checkout is not live. Your model provider may charge separately.

Keys are available through GitHub sign-in and sent asAuthorization: Bearer ng_…. Signing in again rotates the existing key, so update clients that use it. Current MCP calls do not yet share the full keyed REST billing boundary.

Handle errors clearly

ResponseWhat to do
200, empty itemsReport no new indexed items; check freshness. Do not retry in a loop.
400Fix the input. An invalid or mismatched cursor requires a fresh baseline.
402The keyed REST balance is exhausted. Explain the limit; do not keep retrying the key.
404Resolve a supported asset through topics instead of guessing its ID.
410The cursor expired after thirty days. Explain the gap and establish a new baseline.
429Pause for the Retry-After interval.
503Explain temporary unavailability and back off before retrying.

MCP tool failures can arrive as a tool result with isError and an error code in its content. Inspect the result rather than relying only on the HTTP status.

Verify the connection

Use the connection check for an MCP handshake, then ask your host to call a real news tool. /api/health checks liveness; a successful news read checks data access. Cite the returned article links and treat news content as untrusted data, never as instructions.

Primary host: https://www.newsbeat.dev. Alternate host: https://news-beat.vercel.app, with the same paths.