Creative Economy & Cultural Vibrancy Index API

Overview

The African Creative Economy & Cultural Vibrancy Index (ACCVI) API provides open access to data measuring the cultural vibrancy and creative economy performance of African cities.

This API is a Digital Public Good (DPG) — freely accessible, openly licensed, and designed to support researchers, policymakers, developers, and the public.

What you can do

  • Query city performance rankings across cultural and creative indicators
  • Compare cities across focus areas (Cultural Vibrancy, Creative Economy, Enabling Environment)
  • Retrieve map-based data for cultural venues, festivals, museums, and more
  • Filter by African region, indicator type, and sort order

How to read the data

All scores in this API are normalised values between 0 and 100, where a higher score always indicates better performance — unless the field description explicitly states otherwise. Scores represent relative performance across the cities in this dataset and should not be interpreted as absolute or universal measurements. They reflect how each city compares to others within this index, not a definitive judgement of a city's cultural life or potential.

Dataset scope & quality

This dataset covers a defined set of African cities included in the ACCVI index. Each record includes an updatedAt timestamp so you can always see exactly when the data was last updated. We recommend referencing this timestamp whenever you publish or share results derived from this API, to ensure readers understand the currency of the data.

Methodology

The index is built on a structured framework of Focus Areas, Dimensions, and Indicators. Each city is scored per indicator, grouped into dimensions, and rolled up into focus area scores. Derived metrics returned by this API are calculated relative to the cities present in the dataset — they should not be combined with external datasets that use different city sets or methodologies, as this will produce misleading results.

For a full explanation of how scores are calculated, please refer to the ACCVI Methodology Document.

Rate limiting

To ensure fair access for all users, requests are limited to 100 requests per 15 minutes per IP address. If you need higher limits for research purposes, please contact us.

Authentication

This API is publicly accessible. No authentication is required for read operations.

License & Attribution

This software and data are made available under the GNU General Public License v3.0 (GPL-3.0). You are free to use, modify, and distribute this software, provided you:

  • Preserve the GPL-3.0 license terms
  • Make source code available when distributing
  • Give appropriate credit to CcHUB
  • Link back to creativevibrancyindex.africa
API Endpoints
https://api.creativevibrancyindex.africa/graphql
Version

1.0.0

Queries

getAllDimensionsForFocusArea

Description

Get all dimensions that belong to a specific focus area. Required field: focusArea (CULTURAL_VIBRANCY, ENABLING_ENVIRONMENT, CREATIVE_ECONOMY). Focus areas map to dimensions as follows: CULTURAL_VIBRANCY includes Venues & Facilities and Participation & Attractiveness; ENABLING_ENVIRONMENT includes Censorship, Openness & Trust, Governance Quality, and International Connections; CREATIVE_ECONOMY includes Education Capital and Intellectual Innovation.

Response

Returns [String!]!

Arguments
Name Description
input - FocusAreaInput!

Example

Query
query getAllDimensionsForFocusArea($input: FocusAreaInput!) {
  getAllDimensionsForFocusArea(input: $input)
}
Variables
{
  "input": {
    "focusArea": "CREATIVE_ECONOMY"
  }
}
Response
{
  "data": {
    "getAllDimensionsForFocusArea": [
      "Venues & Facilities",
      "Participation & Attractiveness"
    ]
  }
}

getCities

Description

Get all cities that have map data available. Returns the 12 cities included in the ACCVI index: Accra, Cairo, Dakar, Dar Es Salaam, Harare, Johannesburg, Kinshasa, Lagos, Luanda, Marrakech, Nairobi, Tunis. No parameters required.

Response

Returns [String!]!

Example

Query
query getCities {
  getCities
}
Response
{
  "data": {
    "getCities": [
      "Accra",
      "Cairo",
      "Dakar",
      "Dar Es Salaam",
      "Harare",
      "Johannesburg",
      "Kinshasa",
      "Lagos",
      "Luanda",
      "Marrakech",
      "Nairobi",
      "Tunis"
    ]
  }
}

getFocusAreas

Description

Get all three focus areas in the index framework. Returns: Cultural Vibrancy, Enabling Environment, Creative Economy. No parameters required.

Response

Returns [String!]!

Example

Query
query getFocusAreas {
  getFocusAreas
}
Response
{
  "data": {
    "getFocusAreas": [
      "Cultural Vibrancy",
      "Enabling Environment",
      "Creative Economy"
    ]
  }
}

getIndicatorListForDimensions

Description

Get all indicator field names for a specific dimension. Required field: dimensionType (VENUES_AND_FACILITIES, PARTICIPATION_AND_ATTRACTIVENESS, CENSORSHIP, OPENNESS_AND_TRUST, GOVERNANCE_QUALITY, INTERNATIONAL_CONNECTIONS, EDUCATION_CAPITAL, INTELLECTUAL_INNOVATION). These field names can be used to query specific scores from the IndexInfo type.

Response

Returns [String!]!

Arguments
Name Description
input - DimensionInput!

Example

Query
query getIndicatorListForDimensions($input: DimensionInput!) {
  getIndicatorListForDimensions(input: $input)
}
Variables
{
  "input": {
    "dimensionType": "VENUES_AND_FACILITIES"
  }
}
Response
{
  "data": {
    "getIndicatorListForDimensions": [
      "CultureCreativeHubs",
      "ArtsCulturalFestivals",
      "ConcertsMusicHalls",
      "Theatres",
      "Cinemas",
      "Museums",
      "SightsAndLandmarks"
    ]
  }
}

getIndicators

Description

Get all available indicator types for map data. These represent categories of cultural/creative venues and spaces. Returns values like: Arts / Culture Festival, Cinemas, Concert and Music Halls, Creative Hub, Museums, Theatres, Sights and landmarks. No parameters required. Note: These are different from IndexInfo indicators - these represent physical location categories, while IndexInfo indicators are aggregated scores.

Response

Returns [String!]!

Example

Query
query getIndicators {
  getIndicators
}
Response
{
  "data": {
    "getIndicators": [
      "Arts / Culture Festival",
      "Cinemas",
      "Concert and Music Halls",
      "Creative Hub",
      "Museums",
      "Theatres",
      "Sights and landmarks"
    ]
  }
}

getMapInfo

Description

Get all physical cultural/creative locations for a specific city and indicator type. Returns detailed information including name, address, coordinates, ratings, and contact information. Both fields required: city (case-insensitive) and indicator (case-insensitive). Use getCities and getIndicators queries to see available values.

Response

Returns [MapInfo!]!

Arguments
Name Description
input - GetMapInfoInput!

Example

Query
query getMapInfo($input: GetMapInfoInput!) {
  getMapInfo(input: $input) {
    id
    createdAt
    updatedAt
    city
    indicator
    name
    place_id
    rating
    icon
    business_status
    formatted_address
    lat
    lng
    website
    international_phone_number
  }
}
Variables
{
  "input": {
    "city": "Lagos",
    "indicator": "Museums"
  }
}
Response
{
  "data": {
    "getMapInfo": [
      {
        "name": "Badagry Heritage Museum",
        "city": "LAGOS",
        "indicator": "Museums",
        "place_id": "ChIJvZJCEmViOxARpbYdqY2POqY",
        "rating": null,
        "business_status": "OPERATIONAL",
        "formatted_address": "Lander Rd, Marina 103101, Badagry, Nigeria",
        "lat": "6.4121594",
        "lng": "2.8894781",
        "icon": "https://maps.gstatic.com/mapfiles/place_api/icons/v1/png_71/museum-71.png"
      },
      {
        "name": "Black heritage",
        "city": "LAGOS",
        "indicator": "Museums",
        "place_id": "ChIJxxraEruTOxARNGkPj2hTW6Y",
        "rating": null,
        "business_status": "OPERATIONAL",
        "formatted_address": "37A Ogunsola St, Lagos 101233, Ikeja, Nigeria",
        "lat": "6.639969",
        "lng": "3.344666",
        "icon": "https://maps.gstatic.com/mapfiles/place_api/icons/v1/png_71/museum-71.png"
      },
      {
        "name": "kalakuta museum",
        "city": "LAGOS",
        "indicator": "Museums",
        "place_id": "ChIJHwdvhi2SOxARBY6D0HYMCMs",
        "rating": 4.5,
        "business_status": "OPERATIONAL",
        "formatted_address": "7 Gbemisola St, Allen 100281, Ikeja, Nigeria",
        "lat": "6.6029648",
        "lng": "3.3485867",
        "icon": "https://maps.gstatic.com/mapfiles/place_api/icons/v1/png_71/museum-71.png"
      }
    ]
  }
}

getPerformance

Description

Get ranked list of all 12 cities with their performance scores. Returns complete index data including overall rankings and all indicator scores. All filter fields are optional. Available values: region (NOTHERN_AFRICA, SOUTHERN_AFRICA, EASTERN_AFRICA, WESTERN_AFRICA, CENTRAL_AFRICA), indicator (MUSEUMS, CINEMAS, THEATRES, FREEDOM_INDEX, etc.), sortType (ASC, DESC).

Response

Returns [IndexInfo!]!

Arguments
Name Description
filters - PerformanceMapFilter!

Example

Query
query getPerformance($filters: PerformanceMapFilter!) {
  getPerformance(filters: $filters) {
    UnitCode
    UnitName
    Rank
    Vibrancy_Index
    CulturalVibrancy
    Cultural_Index
    CreativeEconomy
    EnablingEnvironment
    Venues_Facilities
    Participation_and_Attractiveness
    Intellectual_Innovation
    Governance_Qual
    Openness_Trust
    International_Connections
    Censorship
    Education_Cap
    Group_Region
    Group_Free
    UniversityRankingArtsHumanities
    KnowledgeDiffusion
    LocalFilms
    PctPatentsByOriginPpGdp
    EntertainmentAndMediaMarketPpPop
    QualityOfRoads
    QualityOfRailroads
    AverageOnlineEventsParticipant2021
    AverageInPersonParticipant2021
    SightsAndLandmarks
    Museums
    Cinemas
    Theatres
    ConcertsMusicHalls
    ArtsCulturalFestivals
    CultureCreativeHubs
    FreedomIndex
    QualityOfGovernance
    NationalCulturalPolicy
    TouristVisits
    ForeignBornPopulation
    DenPopulation
    MobileInternetPercentage
  }
}
Variables
{
  "filters": {
    "region": "WESTERN_AFRICA",
    "indicator": "MUSEUMS",
    "sortType": "DESC"
  }
}
Response
{
  "data": {
    "getPerformance": [
      {
        "UnitName": "Johannesburg, South Africa",
        "UnitCode": "ZAF",
        "Rank": "1",
        "Vibrancy_Index": "64.37",
        "CulturalVibrancy": "59.01",
        "CreativeEconomy": "52.29",
        "EnablingEnvironment": "99.25"
      },
      {
        "UnitName": "Cairo, Egypt",
        "UnitCode": "EGY",
        "Rank": "2",
        "Vibrancy_Index": "56.9",
        "CulturalVibrancy": "68.9",
        "CreativeEconomy": "62.85",
        "EnablingEnvironment": "21.01"
      },
      {
        "UnitName": "Lagos, Nigeria",
        "UnitCode": "NGA",
        "Rank": "3",
        "Vibrancy_Index": "52.21",
        "CulturalVibrancy": "52.97",
        "CreativeEconomy": "67.35",
        "EnablingEnvironment": "20.4"
      }
    ]
  }
}

getPerformanceByCity

Description

Compare a city's performance within a specific focus area and dimension. Returns the city's scores for all indicators in that dimension, plus an averageRanking showing how it compares to all 12 cities. All fields required. Available values: focusArea (CULTURAL_VIBRANCY, ENABLING_ENVIRONMENT, CREATIVE_ECONOMY), dimension (VENUES_AND_FACILITIES, PARTICIPATION_AND_ATTRACTIVENESS, CENSORSHIP, OPENNESS_AND_TRUST, GOVERNANCE_QUALITY, INTERNATIONAL_CONNECTIONS, EDUCATION_CAPITAL, INTELLECTUAL_INNOVATION). Note: averageRanking is calculated relative to the 12 cities in this dataset only.

Response

Returns a PerformanceByCity!

Arguments
Name Description
input - GetPerformanceByCityInput!

Example

Query
query getPerformanceByCity($input: GetPerformanceByCityInput!) {
  getPerformanceByCity(input: $input) {
    dataByCity
  }
}
Variables
{
  "input": {
    "city": "Lagos",
    "focusArea": "CULTURAL_VIBRANCY",
    "dimension": "VENUES_AND_FACILITIES"
  }
}
Response
{
  "data": {
    "getPerformanceByCity": {
      "dataByCity": {
        "averageRanking": "16.93",
        "UnitName": "Lagos, Nigeria",
        "UnitCode": "NGA",
        "Theatres": "34.29",
        "SightsAndLandmarks": "49.12",
        "Museums": "82.67",
        "CultureCreativeHubs": "100",
        "ArtsCulturalFestivals": "100",
        "ConcertsMusicHalls": "100",
        "Cinemas": "100"
      }
    }
  }
}

Types

AfricanRegions

Values
Enum Value Description

NOTHERN_AFRICA

SOUTHERN_AFRICA

EASTERN_AFRICA

WESTERN_AFRICA

CENTRAL_AFRICA

Boolean

Description

The Boolean scalar type represents true or false.

DateTime

Description

A date-time string at UTC, such as 2007-12-03T10:15:30Z, compliant with the date-time format outlined in section 5.6 of the RFC 3339 profile of the ISO 8601 standard for representation of dates and times using the Gregorian calendar.

DimensionInput

Description

Input for retrieving all indicators within a dimension

Fields
Input Field Description
dimensionType - DimensionTypes! The dimension to query. Options: VENUES_AND_FACILITIES, PARTICIPATION_AND_ATTRACTIVENESS, CENSORSHIP, OPENNESS_AND_TRUST, GOVERNANCE_QUALITY, INTERNATIONAL_CONNECTIONS, EDUCATION_CAPITAL, INTELLECTUAL_INNOVATION

DimensionTypes

Values
Enum Value Description

VENUES_AND_FACILITIES

PARTICIPATION_AND_ATTRACTIVENESS

CENSORSHIP

OPENNESS_AND_TRUST

GOVERNANCE_QUALITY

INTERNATIONAL_CONNECTIONS

EDUCATION_CAPITAL

INTELLECTUAL_INNOVATION

FocusAreaInput

Description

Input for retrieving all dimensions within a focus area

Fields
Input Field Description
focusArea - FocusAreaTypes! The focus area to query. Options: CULTURAL_VIBRANCY, ENABLING_ENVIRONMENT, CREATIVE_ECONOMY

FocusAreaTypes

Values
Enum Value Description

CULTURAL_VIBRANCY

ENABLING_ENVIRONMENT

CREATIVE_ECONOMY

GetMapInfoInput

Description

Input for querying physical cultural/creative locations by city and type

Fields
Input Field Description
city - String! Name of the city (case-insensitive). Examples: 'Lagos', 'Johannesburg', 'Cairo'. Use getCities query to see all available cities.
indicator - String! Type/category of location (case-insensitive). Examples: 'Museums', 'Theatres', 'Creative Hub', 'Arts / Culture Festival'. Use getIndicators query to see all available types.

GetPerformanceByCityInput

Description

Input for comparing a city's performance within a specific focus area and dimension

Fields
Input Field Description
city - String! Name of the city (case-insensitive). Examples: 'Lagos', 'Johannesburg', 'Cairo'. Use getCities query to see all available cities.
focusArea - FocusAreaTypes! The high-level focus area. Options: CULTURAL_VIBRANCY, ENABLING_ENVIRONMENT, CREATIVE_ECONOMY
dimension - DimensionTypes! The specific dimension within the focus area. Options: VENUES_AND_FACILITIES, PARTICIPATION_AND_ATTRACTIVENESS, CENSORSHIP, OPENNESS_AND_TRUST, GOVERNANCE_QUALITY, INTERNATIONAL_CONNECTIONS, EDUCATION_CAPITAL, INTELLECTUAL_INNOVATION. Use getAllDimensionsForFocusArea to see which dimensions belong to each focus area.

ID

Description

The ID scalar type represents a unique identifier, often used to refetch an object or as key for a cache. The ID type appears in a JSON response as a String; however, it is not intended to be human-readable. When expected as an input type, any string (such as "4") or integer (such as 4) input value will be accepted as an ID.

IndexInfo

Description

Comprehensive index data for a city, including overall rankings and scores across all focus areas, dimensions, and indicators. All scores are normalised 0-100 where higher values indicate better performance.

Fields
Field Name Description
UnitCode - String ISO 3166-1 alpha-3 country code (e.g., 'NGA' for Nigeria, 'ZAF' for South Africa)
UnitName - String Full name of the city and country (e.g., 'Lagos, Nigeria', 'Johannesburg, South Africa')
Rank - String Overall rank of the city in the index (1-12, where 1 is highest). Example: '1' for Johannesburg, '3' for Lagos
Vibrancy_Index - String Composite vibrancy index score (0-100). Weighted average of all three focus areas. Example: '64.37' for Johannesburg (rank 1), '52.21' for Lagos (rank 3)
CulturalVibrancy - String Cultural Vibrancy focus area score (0-100). Measures cultural participation, venues, and attractiveness. Example: '59.01' for Johannesburg, '68.9' for Cairo
Cultural_Index - String Legacy field - same as CulturalVibrancy. Kept for backward compatibility.
CreativeEconomy - String Creative Economy focus area score (0-100). Measures innovation, media output, and economic contribution. Example: '52.29' for Johannesburg, '67.35' for Lagos
EnablingEnvironment - String Enabling Environment focus area score (0-100). Measures infrastructure, governance, and openness. Example: '99.25' for Johannesburg, '20.4' for Lagos
Venues_Facilities - String Venues & Facilities dimension score (0-100). Aggregate of museums, theatres, cinemas, festivals, creative hubs, and landmarks. Example: '58.17' for Johannesburg, '80.87' for Lagos
Participation_and_Attractiveness - String Participation & Attractiveness dimension score (0-100). Measures infrastructure quality (roads, rail, internet) and event participation. Example: '59.85' for Johannesburg, '25.07' for Lagos
Intellectual_Innovation - String Intellectual Innovation dimension score (0-100). Measures patents, films, media market, and knowledge diffusion. Example: '32.21' for Johannesburg, '92.04' for Lagos
Governance_Qual - String Governance Quality dimension score (0-100). Combines quality of governance and national cultural policy. Example: '94.06' for Johannesburg, '67.83' for Lagos
Openness_Trust - String Openness & Trust dimension score (0-100). Based on foreign-born population percentage. Example: '100' for Johannesburg, '7.71' for Lagos
International_Connections - String International Connections dimension score (0-100). Based on tourist visits. Example: '100' for Johannesburg, '41.65' for Lagos
Censorship - String Censorship dimension score (0-100). Based on freedom index - HIGHER score means LESS censorship (more freedom). Example: '87.84' for Johannesburg, '48.65' for Lagos
Education_Cap - String Education Capital dimension score (0-100). Combines university rankings and knowledge diffusion. Example: '62.33' for Johannesburg, '55' for Lagos
Group_Region - String African region classification. Values: 'North', 'South', 'East', 'West', 'Central'. Example: 'South' for Johannesburg, 'West' for Lagos
Group_Free - String Freedom classification group (1-4). 1=Free, 2=Mostly Free, 3=Partly Free, 4=Not Free. Example: '2' for Johannesburg, '3' for Lagos
UniversityRankingArtsHumanities - String University ranking score for arts and humanities (0-100). Based on presence and ranking of universities. Example: '100' for Johannesburg, '10' for Lagos
KnowledgeDiffusion - String Knowledge diffusion score (0-100). Measures spread of academic and creative knowledge. Example: '24.66' for Johannesburg, '100' for Lagos
LocalFilms - String Local film production score (0-100). Measures volume of locally produced films. Example: '28.3' for Johannesburg, '89.62' for Lagos (Nollywood)
PctPatentsByOriginPpGdp - String Patents by origin per GDP score (0-100). Measures innovation output relative to economy size. Example: '0' for Johannesburg, '96.49' for Lagos
EntertainmentAndMediaMarketPpPop - String Entertainment and media market size per population (0-100). Example: '68.33' for Johannesburg, '90' for Lagos
QualityOfRoads - String Road infrastructure quality score (0-100). Example: '80' for Johannesburg, '13.33' for Lagos
QualityOfRailroads - String Railroad infrastructure quality score (0-100). Example: '54.55' for Johannesburg, '0' for Lagos
AverageOnlineEventsParticipant2021 - String Average participation in online cultural events during 2021 (0-100). Example: '26.09' for Johannesburg, '41.3' for Lagos
AverageInPersonParticipant2021 - String Average participation in in-person cultural events during 2021 (0-100). Example: '58.62' for Johannesburg, '39.66' for Lagos
SightsAndLandmarks - String Number/density of tourist sights and landmarks (0-100). Example: '100' for Johannesburg, '49.12' for Lagos
Museums - String Number/density of museums (0-100). Example: '46.67' for Johannesburg, '82.67' for Lagos
Cinemas - String Number/density of cinema venues (0-100). Example: '51.81' for Johannesburg, '100' for Lagos
Theatres - String Number/density of theatre venues (0-100). Example: '62.86' for Johannesburg, '34.29' for Lagos
ConcertsMusicHalls - String Number/density of concert and music halls (0-100). Example: '19.12' for Johannesburg, '100' for Lagos
ArtsCulturalFestivals - String Number/frequency of arts and cultural festivals (0-100). Example: '51.72' for Johannesburg, '100' for Lagos
CultureCreativeHubs - String Number/density of culture and creative hubs (0-100). Example: '75' for Johannesburg, '100' for Lagos
FreedomIndex - String Freedom index score (0-100). Higher = more freedom, less censorship. Example: '87.84' for Johannesburg, '48.65' for Lagos
QualityOfGovernance - String Quality of governance score (0-100). Example: '88.11' for Johannesburg, '35.66' for Lagos
NationalCulturalPolicy - String National cultural policy score (0-100). Binary: 100 if policy exists, 0 if not. Example: '100' for both Johannesburg and Lagos
TouristVisits - String Tourist visits score (0-100). Relative measure of international tourist arrivals. Example: '100' for Johannesburg, '41.65' for Lagos
ForeignBornPopulation - String Foreign-born population percentage score (0-100). Example: '100' for Johannesburg, '7.71' for Lagos
DenPopulation - String Population density score (0-100). Example: '59.31' for Johannesburg, '206.1' for Lagos
MobileInternetPercentage - String Mobile internet penetration score (0-100). Percentage of population with mobile internet access. Example: '79.98' for Johannesburg, '31.06' for Lagos

IndicatorTypes

Values
Enum Value Description

CULTURE_CREATIVE_HUBS

ARTS_CULTURAL_FESTIVALS

CONCERTS_MUSIC_HALLS

THEATRES

CINEMAS

MUSEUMS

SIGHTS_AND_LANDMARKS

QUALITY_OF_ROADS

QUALITY_OF_RAILROADS

MOBILE_INTERNET_PERCENTAGE

AVERAGE_IN_PERSON_PARTICIPANT2021

AVERAGE_ONLINE_EVENTS_PARTICIPANT2021

FREEDOM_INDEX

FOREIGN_BORN_POPULATION

QUALITY_OF_GOVERNANCE

NATIONAL_CULTURAL_POLICY

TOURIST_VISITS

KNOWLEDGE_DIFFUSION

UNIVERSITY_RANKING_ARTS_HUMANITIES

LOCAL_FILMS

PCT_PATENTS_BY_ORIGIN_PP_GDP

ENTERTAINMENT_AND_MEDIA_MARKET_PP_POP

CULTURAL_VIBRANCY

ENABLING_ENVIRONMENT

CREATIVE_ECONOMY

JSONObject

Description

The JSONObject scalar type represents JSON objects as specified by ECMA-404.

MapInfo

Description

Represents a physical cultural or creative location (museum, theatre, festival venue, creative hub, etc.) with geographic coordinates and contact information.

Fields
Field Name Description
id - ID!
createdAt - DateTime!
updatedAt - DateTime!
city - String! Name of the city where this location is situated (e.g., 'LAGOS', 'JOHANNESBURG')
indicator - String! Category/type of location (e.g., 'Museums', 'Theatres', 'Creative Hub', 'Arts / Culture Festival'). Use getIndicators query to see all available types.
name - String! Name of the location (e.g., 'Kalakuta Museum', 'National Theatre', 'Lagos Theatre Festival')
place_id - String! Google Places ID for this location - unique identifier that can be used with Google Maps APIs
rating - String User rating from Google Places (1.0-5.0 scale). May be null if no ratings available.
icon - String URL to the location's icon/marker image
business_status - String Operational status from Google Places (e.g., 'OPERATIONAL', 'CLOSED_TEMPORARILY', 'CLOSED_PERMANENTLY')
formatted_address - String Full formatted street address (e.g., '7 Gbemisola St, Allen 100281, Ikeja, Nigeria')
lat - String Latitude coordinate (decimal degrees). Example: '6.6029648' for a location in Lagos
lng - String Longitude coordinate (decimal degrees). Example: '3.3485867' for a location in Lagos
website - String Website URL of the location (if available)
international_phone_number - String International phone number in E.164 format (e.g., '+234 1 234 5678')

PerformanceByCity

Description

City performance data for a specific focus area and dimension. Returns a JSON object with the city's scores for all indicators within that dimension, plus an averageRanking calculated relative to all 12 cities in the dataset.

Fields
Field Name Description
dataByCity - JSONObject! JSON object containing: 'averageRanking' (city's percentage score relative to all 12 cities), 'UnitName', 'UnitCode', and scores for each indicator in the dimension. Example for Lagos/CULTURAL_VIBRANCY/VENUES_AND_FACILITIES: {averageRanking: '16.93', UnitName: 'Lagos, Nigeria', UnitCode: 'NGA', Theatres: '34.29', Museums: '82.67', Cinemas: '100', ...}

PerformanceMapFilter

Description

Filters for querying and sorting city performance data

Fields
Input Field Description
region - AfricanRegions Filter results by African region. Options: NOTHERN_AFRICA, SOUTHERN_AFRICA, EASTERN_AFRICA, WESTERN_AFRICA, CENTRAL_AFRICA. If omitted, returns all cities.
indicator - IndicatorTypes Sort results by a specific indicator instead of overall Vibrancy_Index. Options include MUSEUMS, CINEMAS, THEATRES, FREEDOM_INDEX, etc. See IndicatorTypes enum for full list.
sortType - SortType Sort direction. ASC = lowest to highest, DESC = highest to lowest. Defaults to ASC if not specified.

SortType

Values
Enum Value Description

ASC

DESC

String

Description

The String scalar type represents textual data, represented as UTF-8 character sequences. The String type is most often used by GraphQL to represent free-form human-readable text.