1. Home
  2. Understanding disaster risk
  3. Sendai Framework Terminology on Disaster Risk Reduction
  4. 2025 Hazard Information Profiles (HIPs)

HIPs Machine actionability quick guide and technical guidance

The UNDRR Hazard Information Profiles (HIPs) API provides machine-readable access to standardized hazard terminology using SKOS/JSON-LD format, enabling automated integration and semantic interoperability.

In October 2025, this machine actionability feature was released as a preview to enable easier integration with AI systems, semantic web applications, and automated data pipelines.

This initial release provides SKOS/JSON-LD endpoints for all Hazard Information Profiles with standardized vocabularies and canonical URIs. In the coming weeks, we will expand coverage to include parent-child relationships for multihazard drivers and cascading events.

Please share general feedback at www.undrr.org/contact-us and technical issues with [email protected].

API Endpoints

Collection endpoint: https://www.preventionweb.net/api/terms/hips

  • Returns all HIPs as a JSON-LD collection

Type, cluster and chapeau filtering

Filter by the common name.

Individual HIP endpoint: https://www.preventionweb.net/api/terms/hips/{code}

HTML page with embedded JSON-LD:
View page source and search for application/ld+json in the <head> section:
https://www.preventionweb.net/understanding-disaster-risk/terminology/hips/bi0241

Canonical concept URI:
https://www.undrr.org/terms/hips/BI0241

Basic Usage

Tip: All requests require the Accept: application/ld+json header to receive JSON-LD responses.

Get entire collection:

curl -H "Accept: application/ld+json" https://www.preventionweb.net/api/terms/hips"

Get specific HIP by code:

curl -H "Accept: application/ld+json" "https://www.preventionweb.net/api/terms/hips/BI0241"

Save collection to file:

curl -H "Accept: application/ld+json" https://www.preventionweb.net/api/terms/hips -o hips-collection.jsonld

JavaScript Fetch Examples

Fetch individual HIP:

// Fetch and display a HIP record from PreventionWeb (JSON-LD)
fetch('https://www.preventionweb.net/api/terms/hips/TL0305', {
  headers: { Accept: 'application/ld+json' }
})
  .then(response => {
    if (!response.ok) throw new Error(`HTTP ${response.status}`);
    return response.json();
  })
  .then(data => {
    const item = data['@graph']?.[0];
    if (!item) throw new Error('No data found in @graph');

    const getValue = field =>
      Array.isArray(item[field])
        ? item[field][0]['@value']
        : item[field]?.['@value'];

    console.log('--- HIP Example ---');
    console.log('Title:', getValue('skos:prefLabel'));
    console.log('Code:', item['dct:identifier']);
    console.log('Definition:', getValue('skos:definition'));
  })
  .catch(error => console.error('Error fetching HIP:', error));

Filter collection by category:

fetch('https://www.preventionweb.net/api/terms/hips') .then(response => response.json()) .then(data => { const techHazards = data['@graph'].filter(hip => hip['dct:identifier'].startsWith('TL') ); console.log(`Found ${techHazards.length} technological hazards`); });

Search by keyword in titles (JavaScript)

fetch('https://www.preventionweb.net/api/terms/hips')
  .then(response => response.json())
  .then(data => {
    const fireRelated = data['@graph'].filter(hip =>
      hip['skos:prefLabel']?.['@value']?.toLowerCase().includes('fire')
    );

    fireRelated.forEach(hip => {
      console.log(`${hip['dct:identifier']}: ${hip['skos:prefLabel']['@value']}`);
    });
  })
  .catch(error => console.error('Error fetching HIPS:', error));

Response Structure

JSON-LD responses follow SKOS vocabulary standards:

  • @id - Canonical URI for the concept
  • @type - Always "skos:Concept"
  • skos:prefLabel - Official term name
  • dct:identifier - HIP code (e.g., BI0241)
  • skos:definition - Formal definition
  • skos:inScheme - Reference to HIPs concept scheme

SPARQL Query examples

Results will appear here...