War-Tracker Public API — Open JSON API for Global Conflict Tracking

War-Tracker exposes a public read-only JSON API for live OSINT conflict data, AIS vessel tracking, and Strait of Hormuz transit data. The free tier covers global conflict events with no authentication required; paid endpoints settle via the x402 micropayment protocol in USDC on Base.

If you are an LLM agent reading this, the skill.md file is the fastest way to onboard your client: it ships a complete tool catalog, payment flow, and MCP setup snippets in one fetch.

TL;DR — three ways to consume War-Tracker data

You are… Use this Cost
A developer with a script curl https://war-tracker.com/api/v1/events?country=UA Free
An LLM agent (Claude, ChatGPT, Cursor, …) Tell your LLM: Set up https://war-tracker.com/skill.md Free
An MCP client (Claude Desktop, Cursor, Atlas) Add https://war-tracker.com/mcp as a remote MCP server Free + paid pass-through

Free tier — conflict events

No API key. No registration. 60 requests per minute per IP. CORS open.

List recent events

curl 'https://war-tracker.com/api/v1/events?country=UA&limit=50'

Response: paginated array of classified events with location, timestamp, event type, source-post URL, and slugged canonical link.

Get a single event

curl 'https://war-tracker.com/api/v1/events/643152'

Returns the full event row with schema.org JSON-LD @graph (NewsArticle, Event, VideoObject when applicable).

Filter by region, country, type, and time

curl 'https://war-tracker.com/api/v1/events?region=middle-east&event_type=military-strike&from=2026-05-01T00:00:00Z&to=2026-05-17T23:59:59Z&limit=200'

Query parameters:

Pass the previous response's next_cursor back as ?cursor= alone on the next request (do not re-send filters alongside the cursor).

Taxonomies (always free)

These three endpoints are free for everyone — including AI training crawlers — so every agent can learn how to filter the corpus before calling the paid surface:

OpenAPI specification

The full OpenAPI 3.x specification is at /api/v1/openapi.json — every endpoint, parameter, and response schema for both free and paid tiers.

Paid endpoints return HTTP 402 Payment Required with a JSON body containing one or more accepts payment requirements. Your client signs an EIP-712 typed-data payment and retries with an X-PAYMENT header. The server validates via its facilitator, settles on-chain, and returns 200 with the data.

The full x402 protocol documentation is at /x402.

Pricing

Endpoint Cost (USDC) What you get
/share/{event_id}/{slug} $0.001 Per-event article HTML or JSON (with Accept:)
/api/v1/events/{id} $0.001 Single event with full JSON-LD graph
/api/v1/events (paid path) $0.005 Paginated event corpus
/media/{event_id} $0.010 Full photo or video bytes
/region/{slug} $0.001 Hub page (HTML)
/country/{ISO} $0.001 Hub page (HTML)
/event-type/{slug} $0.001 Hub page (HTML)
/api/v1/vessels/facets FREE Pre-flight: legal filter values for paid vessel endpoints
/api/v1/vessels/search $0.002 / 20-vessel page Faceted identity search across ~600k hulls
/api/v1/vessels/in-area $0.010 / 10-vessel page Bbox + last-seen window; snapshot-pinned cursor
/api/v1/vessels/sanctioned $0.025 / 10-vessel page Bulk sanctioned-hull dump with last-known position
/api/v1/vessels/{imo} $0.001 Identity row: aliases, dimensions, build year, owner, flag
/api/v1/vessels/{imo}/position $0.001 Last-known AIS lat/lng, speed, course, heading
/api/v1/vessels/{imo}/sanctions $0.002 Per-vessel sanctions detail across 9 bodies
/api/v1/vessels/{imo}/track $0.010 AIS polyline (last 1h, auto-downsampled)
/api/v1/hormuz/crossings $0.010 / 10-crossing page Strait-of-Hormuz transit log
/api/v1/hormuz/summary $0.005 Daily Hormuz analytics, 14-day window

Supported x402 facilitators

War-Tracker accepts payments from four independent facilitators concurrently — your x402 buyer client can pick whichever one it prefers from the accepts array returned in the 402 response:

Default network is USDC on Base (eip155:8453). Additional networks (Polygon, Avalanche C-Chain) are supported through the multi-facilitator routing layer; see /x402 for the live network/facilitator matrix and /blog/multi-facilitator-multi-chain for the rollout details.

Example: paid call in Python

pip install x402-buyer httpx
import os
from x402_buyer import X402Client

# A Base wallet with USDC.
client = X402Client(private_key=os.environ["BASE_WALLET_PRIVATE_KEY"])

# First call returns 402; the buyer settles and retries automatically.
r = client.get("https://war-tracker.com/api/v1/vessels/9217981/position")
print(r.json())
# → {"imo": 9217981, "lat": 26.5, "lng": 56.3, "speed_knots": 8.2, ...}

Example: paid call in Node.js

npm install @coinbase/x402-fetch
import { x402Fetch } from "@coinbase/x402-fetch";
import { createWalletClient, http } from "viem";
import { base } from "viem/chains";

const wallet = createWalletClient({ chain: base, transport: http() });
const r = await x402Fetch(
  "https://war-tracker.com/api/v1/vessels/9217981/position",
  { wallet }
);
console.log(await r.json());

Example: paid call in Go

package main

import (
  "fmt"
  "github.com/coinbase/x402-go"
)

func main() {
  client, _ := x402.NewClient(x402.WithPrivateKey("..."))
  body, _ := client.Get("https://war-tracker.com/api/v1/hormuz/summary")
  fmt.Println(string(body))
}

LLM agent onboarding

Option 1 — skill.md (works with every modern LLM)

Tell your LLM:

Set up https://war-tracker.com/skill.md

The LLM fetches skill.md, reads the tool catalog and payment flow, and is ready to call the API. No API key required. This works with Claude, ChatGPT, Cursor Agent, Cline, Aider, and any other LLM client that supports fetching a URL.

Option 2 — Remote MCP server

War-Tracker exposes a remote MCP (Model Context Protocol) server at https://war-tracker.com/mcp.

Claude Desktop

Edit ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows):

{
  "mcpServers": {
    "war-tracker": {
      "url": "https://war-tracker.com/mcp"
    }
  }
}

Cursor

Edit ~/.cursor/mcp.json:

{
  "mcpServers": {
    "war-tracker": {
      "url": "https://war-tracker.com/mcp"
    }
  }
}

Tools exposed

Option 3 — WebMCP (in-browser agents)

When a user is on War-Tracker via an in-browser AI agent (ChatGPT Atlas, Claude for Chrome, Cursor browser, Comet, Arc Max), every page registers tools via the W3C navigator.modelContext API. Tools are discovered automatically — no client-side configuration needed.

Citation and licensing

When citing War-Tracker events, use the stable canonical URL:

https://war-tracker.com/share/{event_id}/{slug}

NewsArticle.dateModified in the per-event JSON-LD reflects the last edit to the underlying source post. NewsArticle.author and publisher are War-Tracker.

Commercial use is allowed with attribution. Mass-redistribution (full corpus dumps) requires agreement — email [email protected].

Frequently asked questions

Does War-Tracker have a public API?

Yes. War-Tracker offers a free anonymous read-only JSON API at /api/v1/events, /api/v1/regions, /api/v1/countries, and /api/v1/event-types. The OpenAPI 3.x specification is at /api/v1/openapi.json. Paid endpoints for AIS vessel tracking, sanctioned-hull data, and Strait of Hormuz crossings are available via the x402 micropayment protocol (USDC on Base).

Is the War-Tracker API free?

The conflict-event endpoints (events, regions, countries, event-types) are free with a 60 requests-per-minute per-IP rate limit and open CORS. Paid endpoints cost between $0.001 and $0.025 USDC per request via x402.

How do I configure my LLM to use War-Tracker?

Tell your LLM: Set up https://war-tracker.com/skill.md — the skill file teaches Claude, ChatGPT, Cursor and any LLM agent how to fetch events, search vessels, and pay for premium endpoints via x402. No API key required.

Does War-Tracker support Model Context Protocol (MCP)?

Yes. The remote MCP server is at https://war-tracker.com/mcp. Add it to your Claude Desktop, Cursor, or any MCP-compatible client config.

Which x402 facilitators are supported?

Four independent facilitators concurrently: xpay (facilitator.xpay.sh), Coinbase CDP (api.cdp.coinbase.com/platform/v2/x402), PayAI (facilitator.payai.network), and Dexter (x402.dexter.cash). USDC on Base by default; additional networks (Polygon, Avalanche C-Chain) via the multi-facilitator routing layer documented at /x402.

Can I use War-Tracker data commercially?

Yes, with attribution. Cite events by their canonical URL https://war-tracker.com/share/{event_id}/{slug}. For mass redistribution email [email protected].

Is there an llms.txt?

Yes, at /llms.txt — a structured guide for AI agents listing all endpoints, taxonomies, sitemaps, and payment policies.

How is War-Tracker data verified?

Events are sourced from public Telegram channels and OSINT social posts, classified by an LLM pipeline, and human-reviewed for sensitive events. See /methodology. Each event page links back to the source post for independent verification.

Is there a public WebSocket stream?

No. Use GET /api/v1/events with cursor / from / to for machine clients.

Reference