Discover/Yale API
live

Yale APIepi.yale.edu

Access Yale's 2026 Environmental Performance Index for 177 countries. Get scores, ranks, and 47 indicator values per country via a single API endpoint.

This API takes change requests — .
Endpoint health
verified 3h ago
get_country_epi
1/1 passing latest checkself-healing
Endpoints
1
Updated
3h ago

What is the Yale API?

The Yale EPI API returns the full Environmental Performance Index scorecard for any of 177 ranked countries through a single endpoint, get_country_epi. Each response includes 47 indicator-level scores, global and regional ranks, 10-year trend values, and country metadata such as GDP and population. You can query by country name or ISO 3166-1 alpha-3 code, making it straightforward to integrate EPI data into dashboards, research pipelines, or policy tools.

This call costs10 credits / call— charged only on success
Try it
Country name (e.g. 'Netherlands', 'Brazil') or ISO 3166-1 alpha-3 code (e.g. 'NLD', 'BRA'). Case-insensitive.
api.parse.bot/scraper/1b38522f-7069-42f1-8dc7-344a85ee8473/<endpoint>
Ready to send
Fill in the parameters and hit sign in to send to see live response data here.
Call it over HTTPgrab a free API key at signup
curl -X GET 'https://api.parse.bot/scraper/1b38522f-7069-42f1-8dc7-344a85ee8473/get_country_epi?country=Estonia' \
  -H 'X-API-Key: $PARSE_API_KEY'
Python SDK · recommended

Typed, relational, agent-ready

A generated client with real types, enums, and the links between objects — the structure a flat JSON response can't carry. Autocompletes in your editor and reads cleanly to coding agents.

  • Fully typed · autocompletes
  • Objects link to objects
  • Typed errors & pagination

Typed Python client. Set up the SDK in your uv project, then pull this API’s typed client:

uv add parse-sdk
uv run parse init
uv run parse add --marketplace epi-yale-edu-api

uv run parse add --marketplace pulls a pinned snapshot of this canonical API — it won’t change underneath you. To customize it, subscribe and swap to your own copy.

"""Walkthrough: Yale EPI API — fetch a country's environmental scorecard."""
from parse_apis.epi_yale_edu_api import Epi, CountryNotFound

client = Epi()

# Look up a country by name and inspect its metadata.
country = client.countries.get(country="Estonia")
print(f"{country.country} ({country.iso_code}) — Region: {country.region}")
print(f"  GDP per capita: ${country.metadata.gdp_per_capita:,.2f}")
print(f"  Population: {country.metadata.population_millions}M")

# Browse the top indicators by score.
for ind in country.indicators[:5]:
    print(f"  {ind.indicator}: score={ind.score}, rank={ind.rank}, 10yr change={ind.ten_year_change}")

# Handle a country that doesn't exist.
try:
    client.countries.get(country="Atlantis")
except CountryNotFound as e:
    print(f"Not found: {e.message}")

print("exercised: countries.get / Metadata fields / Indicator fields / CountryNotFound")
All endpoints · 1 totalmissing one? ·

Returns the full Environmental Performance Index scorecard for a given country, including 47 indicator scores, ranks, 10-year changes, regional ranks, and regional averages. Also includes country metadata (GDP, population, land area). Accepts country name (e.g. 'Netherlands') or ISO 3166-1 alpha-3 code (e.g. 'NLD'). Makes two requests: one to resolve the country's region, one to fetch its data.

Input
ParamTypeDescription
countryrequiredstringCountry name (e.g. 'Netherlands', 'Brazil') or ISO 3166-1 alpha-3 code (e.g. 'NLD', 'BRA'). Case-insensitive.
Response
{
  "type": "object",
  "fields": {
    "region": "EPI geographic region name",
    "country": "Country name as displayed on the EPI site",
    "iso_code": "ISO 3166-1 alpha-3 country code",
    "metadata": "Object with gdp_ppp_billions, gdp_per_capita, population_millions, land_area_sq_km",
    "indicators": "Array of indicator objects, each with indicator name, rank, score, ten_year_change, regional_rank, regional_average"
  },
  "sample": {
    "data": {
      "region": "Eastern Europe",
      "country": "Estonia",
      "iso_code": "EST",
      "metadata": {
        "gdp_per_capita": 41200.33,
        "land_area_sq_km": 42730,
        "gdp_ppp_billions": 56.53,
        "population_millions": 1.37
      },
      "indicators": [
        {
          "rank": 1,
          "score": 74.79,
          "indicator": "Environmental Performance Index",
          "regional_rank": 1,
          "ten_year_change": 23.22,
          "regional_average": 54.93
        },
        {
          "rank": 25,
          "score": 75.88,
          "indicator": "Environmental Health",
          "regional_rank": 1,
          "ten_year_change": 16.02,
          "regional_average": 57
        },
        {
          "rank": 15,
          "score": 80.76,
          "indicator": "Air Quality",
          "regional_rank": 1,
          "ten_year_change": 21.93,
          "regional_average": 49.13
        }
      ]
    },
    "status": "success"
  }
}

About the Yale API

What the API returns

The get_country_epi endpoint accepts a country parameter — either a plain-English country name like Netherlands or an ISO 3166-1 alpha-3 code like NLD — and returns the complete 2026 EPI scorecard for that country. The top-level response includes the country's region, display country name, and iso_code, plus a metadata object carrying gdp_ppp_billions, gdp_per_capita, population_millions, and land_area_sq_km.

Indicator data

The indicators array contains one object per indicator (47 total in the 2026 edition). Each indicator object exposes the indicator name, the country's global rank and score, a ten_year_change value showing how the score has shifted since 2016, a regional_rank among peer countries in the same EPI geographic region, and the regional_average score for context. Indicators span categories including air quality, water resources, biodiversity, climate change, and waste management, reflecting the full breadth of the EPI framework.

Lookup flexibility

The country input is case-insensitive and supports both free-text names and three-letter ISO codes, which simplifies integration when your existing dataset already uses ISO codes. The coverage of 177 countries matches Yale's published 2026 EPI roster; countries not included in the Yale study will not return results.

Reliability & maintenanceVerified

The Yale API is a managed, monitored endpoint for epi.yale.edu — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when epi.yale.edu changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.

This isn't an official epi.yale.edu API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.

Last verified
3h ago
Latest check
1/1 endpoint passing
Maintenance
Monitored & self-healing
Will this API break when the source site changes?+
It's built not to. Every endpoint is health-checked on a schedule with automated test probes. When the source site changes and a check fails, the API is automatically queued for repair and re-verified — that's the self-healing layer. Each API page shows when its endpoints were last verified. And because marketplace APIs are shared, any fix reaches everyone using it.
Is this an official API from the source site?+
No — Parse APIs are independent, managed REST wrappers over publicly available data. That is the point: where a site has no official API (or only a limited one), Parse gives you a maintained, monitored endpoint for that data and keeps it working as the site changes — so you get a stable contract over a source that never promised one.
Can I fix or extend this API myself if I need a new endpoint or field?+
Yes — and you don't have to wait on us. This API was generated by the Parse agent, which stays attached. Describe the change in plain English ("add an endpoint that returns reviews", "fix the price field") in the revise box on the API page or via the revise_api MCP tool, and the agent rebuilds it against the live site in minutes. Contributing the change back to the public API is free.
What happens if I call an endpoint that has an issue?+
Errors are machine-readable: a bad call returns a clean status with the list of available endpoints and a repair hint, so an agent (or you) can recover or trigger a fix instead of failing silently. Confirmed failures feed the automatic repair queue.
Common use cases
  • Build a country comparison tool that ranks nations by a specific EPI indicator score from the indicators array
  • Track 10-year environmental progress using ten_year_change values to identify improving or declining countries
  • Enrich ESG datasets with official EPI scores and global ranks keyed to ISO 3166-1 alpha-3 codes
  • Generate regional benchmarking reports using regional_rank and regional_average for each indicator
  • Correlate environmental performance with economic development using gdp_per_capita and population_millions from the metadata object
  • Populate academic research dashboards with Yale EPI 2026 data for climate policy or sustainability analysis
  • Power map visualizations that color 177 countries by overall EPI rank or any of the 47 indicator scores
Pricing & limitsSee full pricing →
TierPriceCredits/monthRate limit
Free$0/mo2005 req/min
Hobby$30/mo1,00020 req/min
Developer$100/mo5,000100 req/min
Team$300/mo20,000300 req/min
Company$1,000/mo100,000500 req/min

Each endpoint has a fixed posted price per successful call — most fall between 1 and 10 credits — shown on this API's page before you run it. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.

Frequently asked questions
Does Yale provide an official developer API for EPI data?+
Yale does not offer a public REST API for EPI data. The EPI results are published as downloadable spreadsheets and an interactive web interface at epi.yale.edu. This Parse API surfaces that data in a structured, programmatic form.
What does the `indicators` array actually contain for a country?+
Each element in indicators represents one of the 47 EPI indicators for the requested country. It includes the indicator name, the country's global rank and score for that indicator, a ten_year_change value (the score difference since 2016), a regional_rank within the EPI geographic region, and the regional_average score across all countries in that region.
Can I retrieve scores for all 177 countries in a single call, or filter by region?+
The current endpoint returns one country per call; there is no bulk or region-filter endpoint. To compile a full 177-country dataset you would need to call get_country_epi once per country. You can fork this API on Parse and revise it to add a bulk or region-scoped endpoint.
Does the API expose historical EPI data from editions before 2026?+
No. The API covers the 2026 EPI edition only. The ten_year_change field reflects the score delta since 2016, but raw scores from prior EPI editions (2020, 2018, etc.) are not returned. You can fork this API on Parse and revise it to add endpoints for earlier editions if that data is needed.
Are there countries that return no results?+
The 2026 EPI covers 177 countries. Nations not included in Yale's study — typically small territories or those lacking sufficient data — will not return a scorecard. The country parameter supports both full names and ISO alpha-3 codes, so a lookup failure generally means the country is outside Yale's 177-country scope rather than a query format issue.
Page content last updated . Spec covers 1 endpoint from epi.yale.edu.
Related APIs in Government PublicSee all →
worlddata.info API
Explore global statistics and compare countries across population, economy, demographics, quality of life, education, and health metrics. Search worldwide data on everything from life expectancy and languages to religions and regional breakdowns to gain comprehensive insights into how nations rank against each other.
iqair.com API
Monitor real-time and historical air quality data worldwide, including global rankings, city-specific pollution details, and map visualizations. Search live city rankings and access comprehensive air quality information to track pollution levels across the globe.
euenergy.live API
Monitor real-time and historical electricity prices across Europe with hourly granularity, including load data and city-level pricing information. Look up current rates by country or city, track price trends over time, and access comprehensive bulk historical data to analyze European energy markets.
beta.trademap.org API
Analyze international trade patterns by accessing comprehensive goods and services trade statistics, time series data, and trade indicators across countries and product classifications. Track trade flows using standardized HS and EBOPS product codes to compare performance metrics and coverage across different markets and time periods.
expatistan.com API
Compare cost of living across cities and countries worldwide, view rankings, and analyze expense data to make informed decisions about relocating or understanding living costs globally. Search for specific cities and access the latest pricing information on housing, food, transportation, and other essential expenses.
tradingeconomics.com API
Access real-time economic calendars, macroeconomic indicators, and commodity prices across global markets including G20 nations and emerging economies. Monitor historical charts, country-specific economic data, and the latest financial news to track economic trends and make informed investment decisions.
visaindex.com API
Check passport power rankings and visa requirements across countries, compare travel restrictions between nations, and explore golden visa programs and ETA eligibility for your destination. Find detailed information about visa policies, destination requirements, and investment-based visa options to plan international travel and relocation opportunities.
trademap.org API
Access comprehensive global trade statistics including bilateral trade flows, product exports by country, and historical trade indicators to analyze international commerce trends. Monitor trade data availability and retrieve time series information to track how specific products and countries perform in the global market.