Status
Public health check with the latest ingestion time per category. No API key needed.
GEThttps://api.marketnewsapi.com/v1/status
Returns operational, degraded or down for the REST API, the WebSocket stream and ingestion, plus the newest published_at per category. latest_article is the newest stock article, with the ticker, type, headline, source and time the status page shows. archive is the stock-article count published in the last year, split into news, press_release and legal. This is what powers the status page and the totals on coverage.
No API key required.
Example request
curl "https://api.marketnewsapi.com/v1/status" \
-H "Authorization: Bearer $MARKETNEWSAPI_KEY"import json
import os
import requests
resp = requests.get(
"https://api.marketnewsapi.com/v1/status",
headers={"Authorization": f"Bearer {os.environ['MARKETNEWSAPI_KEY']}"},
timeout=10,
)
resp.raise_for_status()
print(json.dumps(resp.json(), indent=2))const res = await fetch("https://api.marketnewsapi.com/v1/status", {
headers: { Authorization: `Bearer ${process.env.MARKETNEWSAPI_KEY}` },
});
if (!res.ok) throw new Error(`HTTP ${res.status}`);
console.log(await res.json());package main
import (
"fmt"
"io"
"net/http"
"os"
)
func main() {
req, _ := http.NewRequest("GET", "https://api.marketnewsapi.com/v1/status", nil)
req.Header.Set("Authorization", "Bearer "+os.Getenv("MARKETNEWSAPI_KEY"))
res, err := http.DefaultClient.Do(req)
if err != nil {
panic(err)
}
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}<?php
$ch = curl_init('https://api.marketnewsapi.com/v1/status');
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => ['Authorization: Bearer ' . getenv('MARKETNEWSAPI_KEY')],
]);
$body = json_decode(curl_exec($ch), true);
curl_close($ch);
print_r($body);require "json"
require "net/http"
uri = URI("https://api.marketnewsapi.com/v1/status")
req = Net::HTTP::Get.new(uri)
req["Authorization"] = "Bearer #{ENV.fetch('MARKETNEWSAPI_KEY')}"
res = Net::HTTP.start(uri.host, uri.port, use_ssl: true) { |http| http.request(req) }
puts JSON.pretty_generate(JSON.parse(res.body))using System.Net.Http.Headers;
using var http = new HttpClient();
http.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue(
"Bearer", Environment.GetEnvironmentVariable("MARKETNEWSAPI_KEY"));
var json = await http.GetStringAsync("https://api.marketnewsapi.com/v1/status");
Console.WriteLine(json);import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
public class Main {
public static void main(String[] args) throws Exception {
HttpRequest req = HttpRequest.newBuilder()
.uri(URI.create("https://api.marketnewsapi.com/v1/status"))
.header("Authorization", "Bearer " + System.getenv("MARKETNEWSAPI_KEY"))
.build();
HttpResponse<String> res = HttpClient.newHttpClient()
.send(req, HttpResponse.BodyHandlers.ofString());
System.out.println(res.body());
}
}Example response
200 OK
{
"status": "operational",
"time": "2026-10-06T12:31:15Z",
"components": {
"rest": "operational",
"websocket": "operational",
"mcp": "operational",
"ingestion": "operational"
},
"latest": {
"stocks": "2026-10-06T12:31:04Z"
},
"latest_article": {
"id": "art_9f2c1d7e4b8a6035",
"title": "Apple unveils new on-device AI features, shares rise in premarket trading",
"url": "https://www.example-publisher.com/markets/apple-ai-features",
"published_at": "2026-10-06T12:31:04Z",
"type": "news",
"tickers": [
"AAPL"
],
"listings": [
{
"symbol": "AAPL",
"exchange": "NASDAQ"
}
],
"source": {
"name": "Example Publisher",
"domain": "example-publisher.com"
}
},
"articles_24h": 17240,
"articles_24h_by_category": {
"stocks": 17240
},
"archive": {
"since": "2025-10-06",
"total": 4128831,
"by_type": {
"news": 2411020,
"press_release": 1394406,
"legal": 323405
}
}
}Try it
GET
https://api.marketnewsapi.com/v1/statusResponse
Press Send to call the live API.Errors
This endpoint returns the standard error format.