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.
- https://www.preventionweb.net/api/terms/hips?chapeau=flooding
- https://www.preventionweb.net/api/terms/hips?cluster=water-related
- https://www.preventionweb.net/api/terms/hips?type=Meteorological%20and%20Hydrological
Individual HIP endpoint: https://www.preventionweb.net/api/terms/hips/{code}
- Example: Individual HIP endpoint: https://www.preventionweb.net/api/terms/hips/TL0305
- Returns a single HIP by its identifier (e.g., BI0241, TL0305)
- Provides complete SKOS concept representation
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 namedct:identifier- HIP code (e.g., BI0241)skos:definition- Formal definitionskos:inScheme- Reference to HIPs concept scheme
SPARQL Query examples
Results will appear here...