# Ohmega Monster: full guide for agents > An intelligence engine: researched, graded reporting on world events, published as data. Prefer the API and > feeds to scraping HTML. Short version: https://ohmega.monster/llms.txt . Human guide with examples: https://ohmega.monster/developers . ## Surfaces - REST API (JSON, read-only, public, CORS open): https://ohmega.monster/api/v1/index . OpenAPI 3.1: https://ohmega.monster/api/v1/openapi.json - MCP server (Streamable HTTP, stateless): https://ohmega.monster/api/mcp - Static feeds (same documents, no API logic): https://ohmega.monster/data/intel.json , /data/changes.json , /data/pulses.json , /data/forecasts.json - RSS of articles: https://ohmega.monster/feed.xml ## Response contract Every API response is {data, meta}. meta carries as_of (freshness of the data), source (the document schema it came from), version, cite_as (canonical human URL: cite it), license, and sometimes verification, note and next (URL of the next page). Lists page with ?limit= (max 200) and ?cursor=. Errors are {error:{code,message}}. Cache: responses are CDN-cached for about five minutes; poll /api/v1/changes rather than re-reading everything. ## Data model - Daily report (ohmega.daily/1): per theater, developments (headline, detail, where, sources[], verification), who said what, context, outlook, what to watch, Pulse positions; plus a world sweep of what the focus under-weights. - Theater: one running situation with a living dossier (timeline, places, actors, Pulses, forecasts, statements). heat means how much it is in the news, not how bad it is. - Pulse: a persistent 0-100 reading of one question (0 the calm end, 100 the extreme end; low_end / high_end say what the ends mean), with band (calm, elevated, severe, critical), confidence and a full reading history. Early readings, still calibrating. mode 'audit' readings are blind checks that never move the Pulse. - Statement: something a named person or body said (exact words only when quote is set). Proves it was said, not that it is true. signal: threat, warning, red_line, commitment, offer, demand, reassurance, accusation, denial...; stance -2 hostile to +2 conciliatory toward the target. - Article: markdown plus graded claims. Grades: confirmed, likely, contested, unconfirmed / speculative (a lead), opinion (attributed). - Instrument: a measured series (ship transits, prices, storage) with source, as_of and an 'unusual' flag against its own history. No model in the loop. - Live event: a current event from public feeds (outages, earthquakes, military aircraft, fires), relayed with its source URL and not verified by Ohmega. - Verification: 'researched' = our research established it; 'reported' = another outlet reported it (a lead, not a finding). Treat reported items accordingly. ## Endpoints - GET /api/v1/index What exists: every endpoint, the data model and how fresh the desk is. - GET /api/v1/daily/{domain}/{date} [domain date] One daily report (sections per theater, developments with sources and verification, on-the-record statements, sweep, outlook). date is YYYY-MM-DD or 'latest'. - GET /api/v1/daily/{domain} [domain] The newest daily report of a domain (alias of /daily/{domain}/latest). - GET /api/v1/theaters [?domain ?q ?limit ?cursor] Theaters under watch (a theater is one running situation). heat = how much it is in the news, not how bad it is. - GET /api/v1/theaters/{id} [id] One theater's living dossier: current assessment, timeline with sources and verification, places, actors, Pulses, forecasts, statements. - GET /api/v1/briefs/{slug} [slug] A brief: the deep analysis of one theater (timeline, indicators, competing explanations, scored judgments). - GET /api/v1/pulses [?band ?status ?q ?limit ?cursor] Pulses: persistent 0-100 readings of one question about the world, with band and confidence. History is on the item. - GET /api/v1/pulses/{id} [id] One Pulse with its definition and the full reading history (every reading: date, mode, position, decision, reasoning). - GET /api/v1/articles [?tag ?q ?limit ?cursor] Published articles, newest first (metadata only). - GET /api/v1/articles/{slug} [slug] One article: markdown, graded claims with sources, corrections, how to cite. - GET /api/v1/statements [?actor ?since ?signal ?limit ?cursor] Who said what: the on-the-record ledger (exact quotes only when quote is set). A statement proves it was said, not that it is true. - GET /api/v1/actors [?q ?limit ?cursor] Actors (state profiles). - GET /api/v1/actors/{iso} [iso] One state's power profile: leaders, population, economy, trade, energy, military (each figure with year, rank and source), recent statements, the theaters and Pulses it is in. - GET /api/v1/instruments [?limit ?cursor] Measured series (ship transits, prices, storage...): latest value, freshness and source. - GET /api/v1/instruments/{id} [id] One measured series: latest value, changes over horizons, 'unusual' flag and recent points, with its source URL. - GET /api/v1/live/events [?kind ?since ?severity ?limit ?cursor] Current live events from public feeds (internet outages, earthquakes, military aircraft, fire hotspots), each with its source URL. Relayed, not verified by Ohmega. - GET /api/v1/anomalies [?layer ?direction ?active ?country ?since ?limit ?cursor] Where live ships, aircraft and satellite fire detections depart from Ohmega's own learned normal for that place and hour of the week (e.g. tankers 60% below normal in the Strait of Hormuz for 18 h), with ratio, duration, confidence and a plain sentence. Original analysis (ohmega_derived); coverage gaps are screened out. - GET /api/v1/calendar [?kind ?topic ?country ?situation ?grade ?confidence ?min_importance ?routine ?days ?limit ?cursor] What is coming: dated upcoming items (elections and referendums, central-bank decisions, data releases, commodity reports, summits, courts, AI and tech events, launches, our markets' resolution dates, deadlines our own reports named), soonest first and merged across sources, each with a topic, an importance, a grade and its sources. A date is a plan, not an outcome. - GET /api/v1/sanctions [?list ?action ?type ?country ?since ?limit ?cursor] Sanctions designations and delistings on the US OFAC SDN, UK and EU lists, found by comparing each list with its previous copy: who, what kind (person, entity, vessel, aircraft), programme, countries, date and the list it came from. Newest first. - GET /api/v1/attacks [?type ?source ?coding ?country ?days ?since ?limit ?cursor] The attack log: attacks, clashes and mass-violence events (and humanitarian reports) from GDELT, ACLED, UCDP and ReliefWeb in one schema: when, where (lat/lon, country), parties, kind, fatalities where the source states them, the source and how it was coded (machine, curated, report). Ohmega's own count of what was reported since it began collecting: a minimum. Carries provenance (basis, coverage note, collecting-since) on the response and every row. - GET /api/v1/gnss [?source ?severity ?flag ?country ?limit ?cursor] GPS/GNSS interference zones: one-degree cells where an unusual share of aircraft report poor navigation accuracy (ADS-B NACp), with severity, a new/intensifying flag against the cell's own history, and a cross-check against GPSJam's independent daily file. Ohmega's own estimate (basis our_estimate, a minimum, with the date collection began) plus GPSJam's top band (third_party). - GET /api/v1/maritime [?kind ?active ?flag ?area ?imo ?mmsi ?min_confidence ?since ?limit ?cursor] Vessel behaviour events Ohmega derived from the AIS it hears: ships that went silent where others kept being heard, ship-to-ship encounters in open water, identity changes (renames, IMO or flag changes), vessels matching a sanctions list, and long dwells over chokepoints and cable corridors. Each has a reason, a confidence and its evidence points. A pattern seen, never a finding of intent. - GET /api/v1/satellite [?label ?kind ?country ?limit ?cursor] Satellite watch: places the desk tracks (struck or damaged assets, places in today's developments, chokepoints) with a before and after Sentinel-2 chip of the same ground, a change score and night lights against the site's own history. Ohmega's own computation: a machine signal that pixels differ, never an interpretation; a cloudy pair is inconclusive, and a site with little history is 'learning'. Every judgement carries basis, method_note, baseline_since and n_obs. - GET /api/v1/track-record Ohmega's reality check: its own probability forecasts on Polymarket markets (made blind to the price, stored immutably) scored against the market's price at the same moment. Brier score and log loss for both, calibration, open paper positions, resolved markets including the misses. PAPER ONLY, not financial advice. - GET /api/v1/ai-benchmarks [?benchmark ?lab] Frontier AI model scores across public benchmarks (Epoch AI hub, SWE-bench, LMArena): the best score so far, the frontier over time, open-weights against closed, per-lab series and how close each benchmark is to saturation. Measured scores only in the series; lab-claimed scores are listed apart as `claimed`. Without a filter: one summary row per benchmark. - GET /api/v1/assets [?bbox ?type ?country ?status ?has_events ?limit ?cursor] Geolocated places (power plants, substations, refineries, fuel depots, ports, airbases, bases, dams) with the latest thing said about their state and by whom. A claimed strike is a party's claim, not a confirmation. Give at least one filter. - GET /api/v1/assets/{id} [id] One place and its full status history: every dated event with the party who said it, confidence and source URLs. - GET /api/v1/grid/{iso} [iso] Ohmega's grid-impact rollup for a country: installed generating capacity (WRI/OSM) and the share claimed struck, reported damaged, confirmed damaged or destroyed and restored over 7 and 30 days, split by fuel, plus the affected plants. Claimed and confirmed are separate and overlap. Original analysis (ohmega_derived). - GET /api/v1/search [?q ?type ?limit ?cursor] Text search over titles, headlines and names of articles, theaters, Pulses, briefs, daily reports and actors, and over the corpus index: every country, organisation, person, place, vessel, lab, model and situation by name or alias (type=entity) and the titles of published documents (type=document). Names and titles only, never document bodies. - GET /api/v1/entity [?name ?key] Who or what a name is, from the corpus: aliases, counts, the latest status, typed relations (head of state, affiliated with, stance...), what it is most connected to, its measured series (each with a basis) and the newest documents, claims and events with their sources. A country, an organisation, a person, a place, a vessel, a lab, a model or a situation. Ambiguous names return alternatives; a country wins over a same-named place. - GET /api/v1/about [?entity ?key ?since ?kinds ?limit] Everything the corpus holds about an entity since a date: documents (dailies, briefs, profiles, statements, articles), claims (with grounding, confidence and their source URLs) and events, newest first, each with the product and record it came from. - GET /api/v1/timeline [?entity ?key ?since ?limit] An entity's documents and events in date order (oldest first); a development repeated by several reports appears once. - GET /api/v1/related [?entity ?key ?kinds ?limit] What an entity is most connected to and why: typed edges x3, shared claims x2, shared events x1.5, shared documents x1 (the parts are shown), plus the typed relations with their evidence. - GET /api/v1/series [?metric ?entity ?key ?since ?limit ?cursor] A measured series from the corpus with its unit and basis (official, our_count, our_derived, model, reported): one metric across the entities that have it (gdp, population, chk_hormuz_transits, bench.* ...), or an entity's own series (pass entity or key). A metric name that matches several returns the candidates. - GET /api/v1/changes [?since ?type ?limit ?cursor] What changed in the last 30 days, newest first: Pulse moves, new briefs and daily reports, forecasts made and resolved. Poll this to stay current. - GET /api/v1/forecasts [?status ?limit ?cursor] Every forecast we made (probability, horizon, resolution criteria, status) and the public Brier scorecard. ## MCP tools Endpoint: POST https://ohmega.monster/api/mcp (JSON-RPC 2.0: initialize, tools/list, tools/call). Tools are read-only. - get_daily: The day's intelligence report: per theater, what happened (developments with sources and a researched/reported verification), who said what, outlook and what to watch, plus Pulse positions. Defaults to the newest geopolitics report. - list_theaters: Theaters (running situations) under watch, with heat (how much in the news, not how bad) and escalation direction. Use get_theater for a dossier. - get_theater: One theater's living dossier: current assessment, timeline (each row with sources and verification), places, actors, Pulses, forecasts, recent statements. - list_pulses: Pulses: persistent 0-100 readings of one question about the world (0 is the calm end, 100 the extreme end; see low_end/high_end), with band, confidence and 7-day velocity. Early readings, still calibrating. - get_pulse: One Pulse: its definition, current reading, history and the most recent readings with reasoning (audit readings are blind checks that never move the Pulse). - search: Text search over titles, headlines and names of articles, theaters, Pulses, briefs, daily reports and actors, and over the corpus: any country, organisation, person, place, vessel, lab, model or situation by name or alias (type entity; open one with the entity tool) and document titles (type document). Names and titles only, not document bodies. Returns ids and citable URLs; fetch details with the matching tool or the result's api_url. - entity: Who or what a name is, from the corpus behind the reports: a country, organisation, person, place, vessel, lab, model or situation. Returns aliases, counts, the latest status, typed relations (head of state, affiliated with, stance...), what it is most connected to, its measured series (each with a basis: official, our_count, our_derived, model, reported) and the newest documents, claims and events with their sources. An ambiguous name returns alternatives (pass key to choose); a country wins over a same-named place. Use about, timeline, related and series for more. - about: Documents (dailies, briefs, profiles, statements, articles), claims (with grounding, confidence and source URLs) and events about an entity, newest first, each with the product and record it came from. The corpus holds the newest material per entity (about 15 documents, 10 claims, 15 events); the result says when a since is older than that. - timeline: An entity's documents and events in date order (oldest first), each with sources; a development repeated across reports appears once. - related: What an entity is most connected to and why: typed edges x3, shared claims x2, shared events x1.5, shared documents x1 (the parts are shown, so you can see whether a link was stated or only co-occurred), plus the typed relations with their evidence. - series: A measured series with its unit and basis (official = published by the body that measures it; our_count = a minimum from our receivers; our_derived = our computation; model = a model's reading; reported = a figure a source cited): one metric across the entities that have it (gdp, population, chk_hormuz_transits, bench.* ...), or one entity's own series (pass entity or key). A name matching several metrics returns the candidates. - get_statements: Who said what: statements by named people and bodies (exact quote only when 'quote' is set, else a paraphrase), with signal (threat, warning, offer...), stance and source URL. A statement proves it was said, not that it is true. - get_live_events: Current live events from public feeds: internet outages, earthquakes, military aircraft, fire hotspots. Each has a source URL; relayed, not verified by Ohmega. - get_live_anomalies: Ohmega's own analysis of where live ship, aircraft and satellite-fire counts depart from their learned normal for that place and hour of the week: each with place, how far (ratio and a plain sentence), how long, confidence and whether the baseline is still learning. Original analysis (ohmega_derived), not reported by any source; it shows a pattern departs from normal, not why. Receiver-coverage gaps are screened out. - get_calendar: Dated upcoming items, soonest first and merged across sources: elections and referendums, central-bank decisions, data releases (GDP, PCE, jobs), commodity reports, summits, court hearings, AI and tech events, launches, resolution dates of the prediction markets we track, and deadlines Ohmega's own reports named. Each has a topic, an importance (3 major .. 1 routine), a grade (official, announced, estimated, unconfirmed) and its source URLs. A date is a plan, not an outcome. - get_sanctions: Who was added to or removed from the US OFAC SDN list, the UK Sanctions List and the EU consolidated financial sanctions list, found by comparing each list with its previous copy: name, kind (person, entity, vessel, aircraft), programme, countries, date, and the list it came from. A listing is an act of the publishing government, not a finding of guilt. - get_attack_events: Attacks, clashes and mass-violence events reported by GDELT (machine-coded from news), ACLED and UCDP (researcher-curated) and ReliefWeb (humanitarian reports), in one schema: date, place and coordinates, country, parties, kind, fatalities where a source states them, source and coding. Ohmega's own count of what was reported since it began collecting, so a minimum; the response carries provenance (basis, coverage note, collecting-since). Machine-coded rows can duplicate or misplace an event and never carry casualties. - get_gnss_interference: Where aircraft report poor navigation accuracy, a sign of GPS jamming or spoofing: one-degree cells with severity, a new/intensifying flag against the cell's own history and a cross-check against GPSJam. Ohmega's own estimate from ADS-B (basis our_estimate; a minimum, since only aircraft heard by volunteer receivers where Ohmega samples are seen; the response states since when) plus GPSJam's highest band. Not proof of who is jamming. - get_maritime_behaviour: Ohmega's own analysis of the ship positions it hears (AIS): vessels that went silent where other ships kept being heard (ais_gap), ship-to-ship encounters in open water (sts), identity changes (renames, IMO or flag changes), vessels matching a sanctions designation (sanctioned) and long dwells over chokepoints or cable corridors (loiter). Each event has why_flagged, a confidence and evidence points. Original analysis (ohmega_derived), not reported by any source: a pattern seen, never a finding of intent. Receiver-coverage gaps, ports and anchorage crowds are screened out. - get_assets: Geolocated infrastructure (power plants, substations, refineries, fuel depots, ports, airbases, bases, dams) with the latest dated statement about its state and WHO made it: claimed_struck is a party's claim, reported_damaged and confirmed_damaged come from others. Filter by bbox, type, country, status or has_events; pass id for one place's full history with sources. - get_grid_impact: Ohmega's own analysis of how much of a country's installed generating capacity has been claimed struck, reported damaged, confirmed damaged or destroyed, and restored over 7 and 30 days, by fuel, with the affected plants. Claimed and confirmed are separate tallies that overlap: never add them. Capacity is nameplate, not lost output. - get_instrument: A measured series (ship transits through chokepoints, prices, storage...): latest value, change over horizons, whether it is unusual against its own history, with source. Omit id to list the available series. ## How to cite Give cite_as and the as_of date. Article claim: article URL + claim id. Pulse: id + reading date. Daily report: domain + date. Forecast: id (fc_...). ## Terms Our claims, summaries, grades, Pulses and forecasts may be quoted with a link. Source texts belong to their publishers; follow the source URLs and do not treat them as ours. No warranty. No authentication today. ## Here now - Newest daily report: 2026-10-30: (https://ohmega.monster/api/v1/daily/geopolitics/latest) - Article 2026-10-03: El Niño, the Pacific warming that shifts world weather, breaks its daily heat record (https://ohmega.monster/articles/el-ni-o-the-pacific-warming-that-shifts-world-weather-breaks-3e7f96) - Article 2026-10-01: A Himalayan rock-ice avalanche wobbled for months before outrunning every warning (https://ohmega.monster/articles/a-himalayan-rock-ice-avalanche-wobbled-for-months-before-out-861075) - Article 2026-09-28: Reports say Serbia's president is swapping to prime minister to stay in power (https://ohmega.monster/articles/reports-say-serbia-s-president-is-swapping-to-prime-minister-c00a85) - Article 2026-09-26: Meth in Australia is stronger for the money as deaths hit a record (https://ohmega.monster/articles/meth-in-australia-is-stronger-for-the-money-as-deaths-hit-a-2a9042) - Article 2026-09-23: U.S. and Iran resume indirect talks as Strait of Hormuz, the world's key oil waterway, stays mostly closed (https://ohmega.monster/articles/u-s-and-iran-resume-indirect-talks-as-strait-of-hormuz-the-w-685d32) - Article 2026-09-23: Four space clocks show why staying put matters as much as launching (https://ohmega.monster/articles/four-space-clocks-show-why-staying-put-matters-as-much-as-la-bd284a) - Article 2026-09-23: China's CATL begins trials at Hungary's huge EV battery gigafactory (https://ohmega.monster/articles/china-s-catl-begins-trials-at-hungary-s-huge-ev-battery-giga-f98533) - Article 2026-09-23: Nine giant building projects that were seriously backed — and why only one is rising (https://ohmega.monster/articles/nine-giant-building-projects-that-were-seriously-backed-and-49af97)