For the complete documentation index, see llms.txt. This page is also available as Markdown.

Civil Unrest Sample

Civil unrest hazards cover protests, strikes, riots, and demonstrations detected from open-source reporting. The sample below is a RIOT — an anti-migrant march in Delft, South Africa, corroborated across 27 articles.

This is also the type that carries most port and airport disruptions: a dockworkers' or air-traffic strike is a CIVILUNREST / STRIKE event, with the affected infrastructure carried by the supply-chain fields rather than by the sub-type.

These hazards are returned by the /osint-hazards-query endpoint, which requires a specific role on your credentials.

Sub-types (hazard_sub_type): PROTEST (default), STRIKE, RIOT

Type-Specific Properties

Incident properties specific to civil unrest:

  • Participants — estimated number of people involved

  • Arrests — number of arrests reported

Quantitative counters (n2h.quantitative):

  • participants — participants in the latest reported incident

  • arrests — arrests reported

  • deaths — fatalities reported

Long-running unrest also carries cumulative counters — participants_cumulative_since and deaths_cumulative_since — which accumulate across the life of the event rather than describing a single day's incident.

Sample Response

{
  "name": [
    {
      "locale": "en",
      "value": "Anti-migrant March — Delft, South Africa"
    }
  ],
  "description": [
    {
      "locale": "en",
      "value": "A Civil Unrest incident was reported in Delft, South Africa\non 2026-06-28.\n  Preliminary reports indicate 4 total victims comprised of 4 fatalities.\n\nEvent Summary*:\n• Civil Unrest has been reported in Delft, South Africa.\n• Reports indicate approximately 1000 participants.\n• 10 arrests reported.\n• Reports indicate that at least 4 people have been affected.\n• Affected areas include: Delft, South Africa.\n\nBased on 27... [truncated for brevity]"
    }
  ],
  "severity": "WARNING",
  "category": "EVENT",
  "type": "CIVILUNREST",
  "hazard_sub_type": "RIOT",
  "incident": {
    "uuid": "647d2a7d-dfeb-4d5d-a093-1b94022a30a1",
    "type": "CIVILUNREST",
    "sourceId": 3000,
    "sourceRecordId": "CIVILUNREST-SOU-CAPE-TOWN-2026-06",
    "properties": {
      "Total_Fatalities": 4,
      "Total_Wounded": 0,
      "Civilian_Fatalities": 4,
      "Civilian_Wounded": 0,
      "Police_Military_Fatalities": 0,
      "Police_Military_Wounded": 0,
      "Terrorist_Insurgent_Fatalities": 0,
      "Terrorist_Insurgent_Wounded": 0,
      "type": "ACTUAL",
      "Incident_Type": "Civil Unrest",
      "reportDate": "2026-06-30T04:35:32+00:00",
      "action": "NEW_EVENT",
      "Incident_Duration": 4,
      "Created_Time": "2026-06-30T04:35:32+00:00",
      "casualties": "{\"killed\": {\"total\": 4}, \"injured\": {\"total\": 0}}",
      "scopeOfIncident": "Local",
      "name": "Anti-migrant March — Delft, South Africa",
      "status": "ACTIVE",
      "eventDate": "2026-06-28T00:00:00Z",
      "roles": "PUBLIC",
      "locationDescription": "Delft, South Africa",
      "Country_Name": "South Africa",
      "Country_Code": "ZA",
      "Country_Code_3": "ZAF",
      "Province_District_Town": "Delft",
      "Event_Summary": "Anti-immigrant protests in South Africa have led to businesses shuttering and extra police deployment, with demonstrators demanding undocumented foreigners leave the country by Tuesday. Groups protest... [truncated for brevity]",
      "Source": "AllAfrica - Latest",
      "sourceName": "AllAfrica - Latest",
      "event": "Civil Unrest",
      "featureType": "INCIDENT",
      "bufferSize": 5000,
      "rawMessage": "[news article text truncated for brevity]",
      "Scope_of_Incident": "Local",
      "Incident_Severity": "H",
      "Participants": 1000,
      "Arrests": 10,
      "..."
    }
  },
  "uuid": "647d2a7d-dfeb-4d5d-a093-1b94022a30a1",
  "comment": null,
  "createdAt": 1782849521,
  "startedAt": 1782604800,
  "updatedAt": 1782859182,
  "endedAt": 1782950400,
  "latitude": -33.9252902,
  "longitude": 18.4185215,
  "version": 2,
  "creator": "News2Hazards (Automated)",
  "relatedHazards": [],
  "locationDetails": {
    "version": 2,
    "country": "South Africa",
    "country_code": "ZA",
    "country_code_3": "ZAF",
    "continent": "Africa",
    "subregion": "Southern Africa",
    "state_province": "Western Cape",
    "state_code": "ZA-WC",
    "location_type": "land"
  },
  "n2h": {
    "hazard_id": "CIVILUNREST-SOU-CAPE-TOWN-2026-06",
    "hazard_sub_type": "RIOT",
    "summary": "Anti-immigrant protests in South Africa have led to businesses shuttering and extra police deployment, with demonstrators demanding undocumented foreigners leave the country by Tuesday. Groups protest... [truncated for brevity]",
    "is_ongoing": true,
    "start_date_iso": "2026-06-28",
    "end_date_iso": null,
    "location_level": "point",
    "location_specific": "Delft",
    "country": "South Africa",
    "article_count": 27,
    "quantitative": {
      "participants_cumulative_since": 25000,
      "participants": 1000,
      "deaths": 4,
      "arrests": 10,
      "deaths_cumulative_since": 2
    },
    "sources": [
      {
        "name": "AllAfrica - Latest",
        "title": "South Africa: More Than a Dozen South African Journalists Targeted As Anti-Migrant Deadline Looms",
        "url": "https://allafrica.com/stories/202606300014.html",
        "type": "rss",
        "published_at": "2026-06-30T04:35:32+00:00",
        "body": "[article body truncated for brevity]"
      },
      {
        "name": "Daily Nation Kenya",
        "title": "What is behind South Africa's anti-immigrant protests?",
        "url": "https://nation.africa/kenya/news/explainers/what-is-behind-south-africa-s-anti-immigrant-protests--5466186",
        "type": "rss",
        "published_at": null,
        "body": "[article body truncated for brevity]"
      },
      "..."
    ],
    "extra": {
      "..."
    }
  },
  "alertGeometry": {
    "type": "FeatureCollection",
    "features": [
      {
        "type": "Feature",
        "geometry": {
          "type": "Polygon",
          "coordinates": [...]
        },
        "properties": null
      }
    ]
  },
  "features": {
    "type": "FeatureCollection",
    "features": [
      {
        "type": "Feature",
        "properties": {
          "severity": "WARNING",
          "featureType": "INCIDENT",
          "name": "Anti-migrant March — Delft, South Africa",
          "casualties": {
            "killed": {
              "total": 4
            },
            "injured": {
              "total": 0
            }
          },
          "scopeOfIncident": "Local",
          "locationDescription": "Delft, South Africa"
        },
        "geometry": {
          "coordinates": [
            18.4185215,
            -33.9252902
          ],
          "type": "Point"
        }
      },
      {
        "type": "Feature",
        "properties": {
          "severity": "WARNING",
          "featureType": "SMART_ALERT"
        },
        "geometry": {
          "type": "Polygon",
          "coordinates": [...]
        }
      }
    ]
  },
  "exposureAreas": null,
  "exposureAssessment": null,
  "source": {
    "id": 3000,
    "name": "News2Hazards",
    "longName": "News2Hazards Automated Pipeline",
    "description": "Automated hazard detection from news article analysis"
  }
}

Note: Coordinate arrays have been replaced with [...] for brevity. In actual API responses, these properties contain complete GeoJSON coordinate arrays. The n2h.sources array and the incident.properties and features objects have been truncated with "..." to show only key fields, and article text has been elided. The n2h.extra object is reserved for internal use.

Last updated