UNICEF Data Indicator API
The Indicator API from UNICEF Data — 10 operation(s) for indicator.
The Indicator API from UNICEF Data — 10 operation(s) for indicator.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/unicef-data-indicator-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
title: GeoSight Basemap Indicator API
version: v1.0.0
servers:
- url: https://geosight.unicef.org/api/v1
security:
- ApiKey Auth: []
tags:
- name: Indicator
paths:
/indicators/:
parameters: []
get:
operationId: indicator-list
description: Return list of accessed indicator for the user.
parameters:
- name: page
in: query
description: Page number in pagination
schema:
type: integer
default: 1
- name: page_size
in: query
description: Total records in a page
schema:
type: integer
default: 25
- name: sort
in: query
description: 'Fields to be sorted should be specified as a comma-separated list.e.g: sort=name for asc, -sort=name for desc'
required: false
schema:
type: string
- name: fields
in: query
description: 'Fields to be returned should be specified as a comma-separated list.e.g: fields=__all__ for returning all fields, fields=name,category to return just name and category'
required: false
schema:
type: string
- name: name__contains
in: query
description: Filter data by partial name.
schema:
type: string
- name: description__contains
in: query
description: Filter data by partial description.
schema:
type: string
- name: category__name__in
in: query
description: Filter data by multiple category. Put multiple filter using comma separator.
schema:
type: string
- name: type__in
in: query
description: Filter data by multiple type. Put multiple filter using comma separator.
schema:
type: string
- name: project_slug__in
in: query
description: Filter data by multiple project slug. Put multiple filter using comma separator.
schema:
type: string
- name: project_id__in
in: query
description: Filter data by multiple project id. Put multiple filter using comma separator.
schema:
type: string
responses:
'200':
description: ''
content:
application/json:
schema:
required:
- count
- results
type: object
properties:
count:
type: integer
next:
type:
- string
- 'null'
format: uri
previous:
type:
- string
- 'null'
format: uri
results:
type: array
items:
$ref: '#/components/schemas/IndicatorAdminList'
tags:
- Indicator
post:
operationId: indicator-create
description: Create a indicator.
responses:
'201':
description: ''
content:
application/json:
schema:
description: Data that is needed to create/edit context layer.
type: object
properties:
name:
title: Name
type: string
description:
title: Description
type: string
source:
title: Source
type: string
shortcode:
title: Shortcode
type: string
category:
title: Category
type: string
unit:
title: Unit
type: string
type:
title: Type
description: The choices are ['Float', 'Integer', 'String']
type: string
min_value:
title: Min value
type: integer
max_value:
title: Max value
type: integer
aggregation_upper_level_allowed:
title: Allow aggregation upper level
type: boolean
aggregation_upper_level:
title: Aggregation upper level
description: The choices are ['COUNT', 'SUM(value)', 'MIN(value)', 'MAX(value)', 'AVG(value)', 'MAJORITY(value)', 'MINORITY(value)']
type: string
aggregation_multiple_values:
title: Aggregation multiple values
description: The choices are ['COUNT', 'SUM(value)', 'MIN(value)', 'MAX(value)', 'AVG(value)', 'MAJORITY(value)', 'MINORITY(value)']
type: string
style_type:
title: Aggregation multiple values
description: The choices are ['Dynamic qualitative style.', 'Dynamic quantitative style.', 'Predefined style/color rules.', 'Style from library.']
type: string
style_config:
title: Styles
description: 'JSON object containing style configuration for dynamic style types. When style_type is DYNAMIC_QUALITATIVE or DYNAMIC_QUANTITATIVE, the following keys are expected: color_palette (int), color_palette_reverse (bool), dynamic_class_num (int), sync_outline (bool), sync_filter (bool), outline_color (str), outline_size (float), dynamic_classification — one of [''Equidistant.'', ''Natural breaks.'', ''Quantile.'', ''Std deviation.'', ''Arithmetic progression.'', ''Geometric progression.''], and no_data_rule (object with name, rule, color, outline_color, outline_size, active).'
type: object
example:
name: Indicator
description: ''
source: ''
shortcode: INDICATOR
category: Test
unit: Unit
type: Integer
min_value: 0
max_value: 100
aggregation_upper_level_allowed: true
aggregation_upper_level: SUM(value)
aggregation_multiple_values: SUM(value)
style_type: Dynamic quantitative style.
style_config:
no_data_rule:
name: No data
rule: No data
color: '#D8D8D8'
active: 'true'
outline_size: '0.5'
outline_color: '#ffffff'
outline_size: 0.5
sync_outline: false
color_palette: 3
outline_color: '#FFFFFF'
dynamic_class_num: '7'
color_palette_reverse: false
dynamic_classification: Equidistant.
tags:
- Indicator
requestBody:
content:
application/json:
schema:
description: Data that is needed to create/edit context layer.
type: object
properties:
name:
title: Name
type: string
description:
title: Description
type: string
source:
title: Source
type: string
shortcode:
title: Shortcode
type: string
category:
title: Category
type: string
unit:
title: Unit
type: string
type:
title: Type
description: The choices are ['Float', 'Integer', 'String']
type: string
min_value:
title: Min value
type: integer
max_value:
title: Max value
type: integer
aggregation_upper_level_allowed:
title: Allow aggregation upper level
type: boolean
aggregation_upper_level:
title: Aggregation upper level
description: The choices are ['COUNT', 'SUM(value)', 'MIN(value)', 'MAX(value)', 'AVG(value)', 'MAJORITY(value)', 'MINORITY(value)']
type: string
aggregation_multiple_values:
title: Aggregation multiple values
description: The choices are ['COUNT', 'SUM(value)', 'MIN(value)', 'MAX(value)', 'AVG(value)', 'MAJORITY(value)', 'MINORITY(value)']
type: string
style_type:
title: Aggregation multiple values
description: The choices are ['Dynamic qualitative style.', 'Dynamic quantitative style.', 'Predefined style/color rules.', 'Style from library.']
type: string
style_config:
title: Styles
description: 'JSON object containing style configuration for dynamic style types. When style_type is DYNAMIC_QUALITATIVE or DYNAMIC_QUANTITATIVE, the following keys are expected: color_palette (int), color_palette_reverse (bool), dynamic_class_num (int), sync_outline (bool), sync_filter (bool), outline_color (str), outline_size (float), dynamic_classification — one of [''Equidistant.'', ''Natural breaks.'', ''Quantile.'', ''Std deviation.'', ''Arithmetic progression.'', ''Geometric progression.''], and no_data_rule (object with name, rule, color, outline_color, outline_size, active).'
type: object
example:
name: Indicator
description: ''
source: ''
shortcode: INDICATOR
category: Test
unit: Unit
type: Integer
min_value: 0
max_value: 100
aggregation_upper_level_allowed: true
aggregation_upper_level: SUM(value)
aggregation_multiple_values: SUM(value)
style_type: Dynamic quantitative style.
style_config:
no_data_rule:
name: No data
rule: No data
color: '#D8D8D8'
active: 'true'
outline_size: '0.5'
outline_color: '#ffffff'
outline_size: 0.5
sync_outline: false
color_palette: 3
outline_color: '#FFFFFF'
dynamic_class_num: '7'
color_palette_reverse: false
dynamic_classification: Equidistant.
required: true
/indicators/data/:
parameters: []
get:
operationId: indicators-data-list
description: Return list of indicators data for the user.
parameters:
- name: page
in: query
description: A page number within the paginated result set.
required: false
schema:
type: integer
- name: page_size
in: query
description: Number of results to return per page.
required: false
schema:
type: integer
responses:
'200':
description: Resource fetching successful.
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/IndicatorValue'
tags:
- Indicator
/indicators/{id}/:
parameters:
- name: id
in: path
required: true
schema:
type: string
get:
operationId: indicator-detail
description: Return detailed of indicator.
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/IndicatorAdminList'
tags:
- Indicator
put:
operationId: indicator-detail-update
description: Replace a detailed of indicator.
responses:
'200':
description: ''
content:
application/json:
schema:
description: Data that is needed to create/edit context layer.
type: object
properties:
name:
title: Name
type: string
description:
title: Description
type: string
source:
title: Source
type: string
shortcode:
title: Shortcode
type: string
category:
title: Category
type: string
unit:
title: Unit
type: string
type:
title: Type
description: The choices are ['Float', 'Integer', 'String']
type: string
min_value:
title: Min value
type: integer
max_value:
title: Max value
type: integer
aggregation_upper_level_allowed:
title: Allow aggregation upper level
type: boolean
aggregation_upper_level:
title: Aggregation upper level
description: The choices are ['COUNT', 'SUM(value)', 'MIN(value)', 'MAX(value)', 'AVG(value)', 'MAJORITY(value)', 'MINORITY(value)']
type: string
aggregation_multiple_values:
title: Aggregation multiple values
description: The choices are ['COUNT', 'SUM(value)', 'MIN(value)', 'MAX(value)', 'AVG(value)', 'MAJORITY(value)', 'MINORITY(value)']
type: string
style_type:
title: Aggregation multiple values
description: The choices are ['Dynamic qualitative style.', 'Dynamic quantitative style.', 'Predefined style/color rules.', 'Style from library.']
type: string
style_config:
title: Styles
description: 'JSON object containing style configuration for dynamic style types. When style_type is DYNAMIC_QUALITATIVE or DYNAMIC_QUANTITATIVE, the following keys are expected: color_palette (int), color_palette_reverse (bool), dynamic_class_num (int), sync_outline (bool), sync_filter (bool), outline_color (str), outline_size (float), dynamic_classification — one of [''Equidistant.'', ''Natural breaks.'', ''Quantile.'', ''Std deviation.'', ''Arithmetic progression.'', ''Geometric progression.''], and no_data_rule (object with name, rule, color, outline_color, outline_size, active).'
type: object
example:
name: Indicator
description: ''
source: ''
shortcode: INDICATOR
category: Test
unit: Unit
type: Integer
min_value: 0
max_value: 100
aggregation_upper_level_allowed: true
aggregation_upper_level: SUM(value)
aggregation_multiple_values: SUM(value)
style_type: Dynamic quantitative style.
style_config:
no_data_rule:
name: No data
rule: No data
color: '#D8D8D8'
active: 'true'
outline_size: '0.5'
outline_color: '#ffffff'
outline_size: 0.5
sync_outline: false
color_palette: 3
outline_color: '#FFFFFF'
dynamic_class_num: '7'
color_palette_reverse: false
dynamic_classification: Equidistant.
tags:
- Indicator
requestBody:
content:
application/json:
schema:
description: Data that is needed to create/edit context layer.
type: object
properties:
name:
title: Name
type: string
description:
title: Description
type: string
source:
title: Source
type: string
shortcode:
title: Shortcode
type: string
category:
title: Category
type: string
unit:
title: Unit
type: string
type:
title: Type
description: The choices are ['Float', 'Integer', 'String']
type: string
min_value:
title: Min value
type: integer
max_value:
title: Max value
type: integer
aggregation_upper_level_allowed:
title: Allow aggregation upper level
type: boolean
aggregation_upper_level:
title: Aggregation upper level
description: The choices are ['COUNT', 'SUM(value)', 'MIN(value)', 'MAX(value)', 'AVG(value)', 'MAJORITY(value)', 'MINORITY(value)']
type: string
aggregation_multiple_values:
title: Aggregation multiple values
description: The choices are ['COUNT', 'SUM(value)', 'MIN(value)', 'MAX(value)', 'AVG(value)', 'MAJORITY(value)', 'MINORITY(value)']
type: string
style_type:
title: Aggregation multiple values
description: The choices are ['Dynamic qualitative style.', 'Dynamic quantitative style.', 'Predefined style/color rules.', 'Style from library.']
type: string
style_config:
title: Styles
description: 'JSON object containing style configuration for dynamic style types. When style_type is DYNAMIC_QUALITATIVE or DYNAMIC_QUANTITATIVE, the following keys are expected: color_palette (int), color_palette_reverse (bool), dynamic_class_num (int), sync_outline (bool), sync_filter (bool), outline_color (str), outline_size (float), dynamic_classification — one of [''Equidistant.'', ''Natural breaks.'', ''Quantile.'', ''Std deviation.'', ''Arithmetic progression.'', ''Geometric progression.''], and no_data_rule (object with name, rule, color, outline_color, outline_size, active).'
type: object
example:
name: Indicator
description: ''
source: ''
shortcode: INDICATOR
category: Test
unit: Unit
type: Integer
min_value: 0
max_value: 100
aggregation_upper_level_allowed: true
aggregation_upper_level: SUM(value)
aggregation_multiple_values: SUM(value)
style_type: Dynamic quantitative style.
style_config:
no_data_rule:
name: No data
rule: No data
color: '#D8D8D8'
active: 'true'
outline_size: '0.5'
outline_color: '#ffffff'
outline_size: 0.5
sync_outline: false
color_palette: 3
outline_color: '#FFFFFF'
dynamic_class_num: '7'
color_palette_reverse: false
dynamic_classification: Equidistant.
required: true
patch:
operationId: indicator-detail-partial-update
description: Update just partial data based on payload a detailed of indicator.
responses:
'200':
description: ''
content:
application/json:
schema:
description: Data that is needed to create/edit context layer.
type: object
properties:
name:
title: Name
type: string
description:
title: Description
type: string
source:
title: Source
type: string
shortcode:
title: Shortcode
type: string
category:
title: Category
type: string
unit:
title: Unit
type: string
type:
title: Type
description: The choices are ['Float', 'Integer', 'String']
type: string
min_value:
title: Min value
type: integer
max_value:
title: Max value
type: integer
aggregation_upper_level_allowed:
title: Allow aggregation upper level
type: boolean
aggregation_upper_level:
title: Aggregation upper level
description: The choices are ['COUNT', 'SUM(value)', 'MIN(value)', 'MAX(value)', 'AVG(value)', 'MAJORITY(value)', 'MINORITY(value)']
type: string
aggregation_multiple_values:
title: Aggregation multiple values
description: The choices are ['COUNT', 'SUM(value)', 'MIN(value)', 'MAX(value)', 'AVG(value)', 'MAJORITY(value)', 'MINORITY(value)']
type: string
style_type:
title: Aggregation multiple values
description: The choices are ['Dynamic qualitative style.', 'Dynamic quantitative style.', 'Predefined style/color rules.', 'Style from library.']
type: string
style_config:
title: Styles
description: 'JSON object containing style configuration for dynamic style types. When style_type is DYNAMIC_QUALITATIVE or DYNAMIC_QUANTITATIVE, the following keys are expected: color_palette (int), color_palette_reverse (bool), dynamic_class_num (int), sync_outline (bool), sync_filter (bool), outline_color (str), outline_size (float), dynamic_classification — one of [''Equidistant.'', ''Natural breaks.'', ''Quantile.'', ''Std deviation.'', ''Arithmetic progression.'', ''Geometric progression.''], and no_data_rule (object with name, rule, color, outline_color, outline_size, active).'
type: object
example:
name: Indicator
description: ''
source: ''
shortcode: INDICATOR
category: Test
unit: Unit
type: Integer
min_value: 0
max_value: 100
aggregation_upper_level_allowed: true
aggregation_upper_level: SUM(value)
aggregation_multiple_values: SUM(value)
style_type: Dynamic quantitative style.
style_config:
no_data_rule:
name: No data
rule: No data
color: '#D8D8D8'
active: 'true'
outline_size: '0.5'
outline_color: '#ffffff'
outline_size: 0.5
sync_outline: false
color_palette: 3
outline_color: '#FFFFFF'
dynamic_class_num: '7'
color_palette_reverse: false
dynamic_classification: Equidistant.
tags:
- Indicator
requestBody:
content:
application/json:
schema:
description: Data that is needed to create/edit context layer.
type: object
properties:
name:
title: Name
type: string
description:
title: Description
type: string
source:
title: Source
type: string
shortcode:
title: Shortcode
type: string
category:
title: Category
type: string
unit:
title: Unit
type: string
type:
title: Type
description: The choices are ['Float', 'Integer', 'String']
type: string
min_value:
title: Min value
type: integer
max_value:
title: Max value
type: integer
aggregation_upper_level_allowed:
title: Allow aggregation upper level
type: boolean
aggregation_upper_level:
title: Aggregation upper level
description: The choices are ['COUNT', 'SUM(value)', 'MIN(value)', 'MAX(value)', 'AVG(value)', 'MAJORITY(value)', 'MINORITY(value)']
type: string
aggregation_multiple_values:
title: Aggregation multiple values
description: The choices are ['COUNT', 'SUM(value)', 'MIN(value)', 'MAX(value)', 'AVG(value)', 'MAJORITY(value)', 'MINORITY(value)']
type: string
style_type:
title: Aggregation multiple values
description: The choices are ['Dynamic qualitative style.', 'Dynamic quantitative style.', 'Predefined style/color rules.', 'Style from library.']
type: string
style_config:
title: Styles
description: 'JSON object containing style configuration for dynamic style types. When style_type is DYNAMIC_QUALITATIVE or DYNAMIC_QUANTITATIVE, the following keys are expected: color_palette (int), color_palette_reverse (bool), dynamic_class_num (int), sync_outline (bool), sync_filter (bool), outline_color (str), outline_size (float), dynamic_classification — one of [''Equidistant.'', ''Natural breaks.'', ''Quantile.'', ''Std deviation.'', ''Arithmetic progression.'', ''Geometric progression.''], and no_data_rule (object with name, rule, color, outline_color, outline_size, active).'
type: object
example:
name: Indicator
description: ''
source: ''
shortcode: INDICATOR
category: Test
unit: Unit
type: Integer
min_value: 0
max_value: 100
aggregation_upper_level_allowed: true
aggregation_upper_level: SUM(value)
aggregation_multiple_values: SUM(value)
style_type: Dynamic quantitative style.
style_config:
no_data_rule:
name: No data
rule: No data
color: '#D8D8D8'
active: 'true'
outline_size: '0.5'
outline_color: '#ffffff'
outline_size: 0.5
sync_outline: false
color_palette: 3
outline_color: '#FFFFFF'
dynamic_class_num: '7'
color_palette_reverse: false
dynamic_classification: Equidistant.
required: true
delete:
operationId: indicator-detail-delete
description: Delete an indicator.
responses:
'204':
description: ''
tags:
- Indicator
/indicators/{indicators_id}/data/:
parameters:
- name: indicators_id
in: path
required: true
schema:
type: string
get:
operationId: indicator-data-list
description: Return list of indicator data for the user.
parameters:
- name: page
in: query
description: A page number within the paginated result set.
required: false
schema:
type: integer
- name: page_size
in: query
description: Number of results to return per page.
required: false
schema:
type: integer
responses:
'200':
description: Resource fetching successful.
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/IndicatorValue'
tags:
- Indicator
/indicators/{indicators_id}/data/{id}/:
parameters:
- name: indicators_id
in: path
required: true
schema:
type: string
- name: id
in: path
required: true
schema:
type: string
get:
operationId: indicator-data-detail
description: Return detail of a indicator row for the user.
responses:
'200':
description: Resource fetching successful.
content:
application/json:
schema:
$ref: '#/components/schemas/IndicatorValue'
tags:
- Indicator
/api/indicators:
get:
tags:
- Indicator
summary: Get the list of all indicators defined in the database. It does not include all possible attubutes (use api/indicators/{ID} for the complete list of attributes of a single indicator). Without an API key, it return only published indicators.
operationId: Indicator_GetAllIndicatorsLitstNoAttributes
responses:
'200':
description: 'The list of all indicators defined in the database. It doesn''t include indicator attributes (only names) and related objects: use api/indicators/{id:long} or api/indicators/full/{id:long} for full details.'
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/IndicatorItem'
/api/indicators/agency/{agencyCode}:
get:
tags:
- Indicator
summary: Get the list of all indicators defined in the database by agency code. It does not include all possible attubutes. Use /api/countries/organizations to get the list of agencies. Without an API key, it return only published indicators.
operationId: Indicator_GetAllIndicatorsLitsByAgencyNoAttributes
parameters:
- name: agencyCode
in: path
required: true
schema:
type: string
responses:
'200':
description: The list of all indicators defined in the database by agency code. It doesn't include indicator attributes and related objects. Use /api/countries/organizations to get the list of agencies.
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/IndicatorItem'
/api/indicators/spstatement/{statementCode}:
get:
tags:
- Indicator
summary: Get the list of all indicators by strategic plan statement helix code. It does not include all possible attubutes. Use /api/strategicplan/statements/area/{SPAreaCode} to get the list of SP statements. Without an API key, it return only published indicators.
operationId: Indicator_GetAllIndicatorsLitsBySPStatementNoAttributes
parameters:
- name: statementCode
in: path
required: true
schema:
type: string
responses:
'200':
description: The list of all indicators by strategic plan statement helix code.
content:
application/json:
schema:
# --- truncated at 32 KB (75 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/unicef-data/refs/heads/main/openapi/unicef-data-indicator-api-openapi.yml