> For the complete documentation index, see [llms.txt](https://docs.alphageo.ai/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.alphageo.ai/for-developers/alphageo-data-api/portfolio-scores-api.md).

# Portfolio Scores API

The Portfolio Scores API endpoint allows you to retrieve aggregated (averaged) climate risk, resilience-adjusted risk, and financial impact metrics across all assets within your institution's portfolios.

You can also restrict the aggregation to specific portfolios using optional query filters.

## Endpoint

<pre class="language-rest"><code class="lang-rest"><strong>GET https://app.alphageo.ai/api/public/v1/portfolio
</strong></code></pre>

## Parameters

<table><thead><tr><th>Parameters</th><th data-type="checkbox">Required</th><th>Type</th><th>Description</th></tr></thead><tbody><tr><td>tier_one_names</td><td>false</td><td>string</td><td>Comma-separated names of Tier 1 portfolios to include. Example: <code>Fund A,Fund B</code>. If omitted, averages are calculated across all assets in all portfolios.</td></tr><tr><td>period</td><td>true</td><td>string</td><td><p>Time period.</p><p><em>Available values</em> : 2025, 2035, 2050, 2100</p></td></tr><tr><td>scenario</td><td>true</td><td>string</td><td><p>Identifier for CMIP6 Emission Scenarios.</p><p><em>Available values</em> : SSP245, SSP370, SSP585</p></td></tr></tbody></table>

### The 2025 baseline

Continue to supply `scenario=SSP245`, `SSP370` or `SSP585` when requesting `period=2025`. The 2025 physical baseline inputs are shared across these requests, and the response identifies the requested scenario. Climate indicators primarily use ERA5-Land reanalysis averaged over 2020–2025, with coverage fallbacks; other hazards retain their own source-specific baseline periods. The 2035, 2050 and 2100 horizons use scenario-specific inputs. See the [source and baseline FAQ](/faqs/data-products-faq.md).

Financial metrics included in this response can differ by scenario because they compare the shared baseline with future conditions.

## Example requests

#### cURL

```bash
$ curl --location 'https://app.alphageo.ai/api/public/v1/portfolio?period=2035&scenario=SSP245' \
--header 'Authorization: YOUR_API_TOKEN'
```

#### Python

```python
import requests

url = "https://app.alphageo.ai/api/public/v1/portfolio?period=2035&scenario=SSP245"

payload = {}
headers = {
  'Authorization': 'YOUR_API_TOKEN'
}

response = requests.request("GET", url, headers=headers, data=payload)

print(response.text)

```

### Insurance field interpretation

`INS_RATE_FIRE` and `INS_RATE_FLOOD` are the annualized climate-driven premium-growth contributions from wildfire and combined inland/coastal flooding over 2025–2050. `INS_RATE_ANNUAL` is their sum. Values are percentages per year: `2` means 2% annual growth. Stable or declining impacts contribute zero growth.

## Example response

The response below illustrates the field structure. Values are illustrative and do not represent a current assessment of the requested location or portfolio. `<current data version>` is a placeholder for the service’s configured `data_version` label.

```json
{
  "identifiers": {
    "SCENARIO": "SSP245",
    "PERIOD": "2035"
  },
  "overall_indicators": {
    "OVERALL_RISK_SCORE_PCT": 62.4,
    "OVERALL_RAJ_SCORE_PCT": 54.1,
    "OVERALL_RISK_SCORE": 31.2,
    "OVERALL_RAJ_SCORE": 22.8
  },
  "heat_stress": {
    "HEAT_SCORE": 75.0,
    "HEAT_RAJ_SCORE": 60.5
  },
  "inland_flooding": {
    "INLAND_SCORE": 18.2,
    "INLAND_RAJ_SCORE": 15.1
  },
  "coastal_flooding": {
    "COASTAL_SCORE": 5.0,
    "COASTAL_RAJ_SCORE": 4.2
  },
  "drought": {
    "DROUGHT_SCORE": 30.0,
    "DROUGHT_RAJ_SCORE": 24.0
  },
  "hurricane_wind": {
    "WIND_SCORE": 45.0,
    "WIND_RAJ_SCORE": 38.0
  },
  "wildfire": {
    "FIRE_SCORE": 10.0,
    "FIRE_RAJ_SCORE": 8.0
  },
  "hail": {
    "HAIL_SCORE": 55.0,
    "HAIL_RAJ_SCORE": 42.0
  },
  "landslide": {
    "LANDSLIDE_SCORE": 2.0,
    "LANDSLIDE_RAJ_SCORE": 1.5
  },
  "earthquake": {
    "EARTHQUAKE_SCORE": 0.0,
    "EARTHQUAKE_RAJ_SCORE": 0.0
  },
  "insurance": {
    "INS_RATE_FIRE": 0.0,
    "INS_RATE_FLOOD": 0.0,
    "INS_RATE_ANNUAL": 0.0
  },
  "utility": {
    "UTIL_RATE_COOLING": 0.38,
    "UTIL_RATE_HEATING": -0.41,
    "UTIL_RATE_ANNUAL": -0.03
  },
  "capex": {
    "CAPEX_FIRE": 0.0,
    "CAPEX_FLOOD": 0.0,
    "CAPEX_CDD": 0.0,
    "CAPEX_ANNUAL": 0.0
  },
  "discount": {
    "10_YEAR_DISCOUNT": 0.09,
    "25_YEAR_DISCOUNT": 0.22,
    "75_YEAR_DISCOUNT": 0.38
  },
  "operation_downtime": {
    "DOWNTIME_DAYS_ANNUAL": 0.08
  },
  "operation_efficiency": {
    "EFFICIENCY_LOSS_ANNUAL": 0.68
  },
  "workforce_productivity": {
    "PRODUCTIVITY_LOSS_ANNUAL": 1.26
  },
  "maintenance_cost": {
    "MAINT_RATE_ANNUAL": -0.04
  },
  "insurability": {
    "UNINSURABLE_COASTAL": 0.0,
    "UNINSURABLE_FIRE": 0.0,
    "UNINSURABLE_INLAND": 0.0,
    "UNINSURABLE_TOTAL": 0.0
  },
  "portfolio_summary": {
    "total_assets": 4320,
    "portfolios_included": [
      "Fund A",
      "Fund B"
    ]
  },
  "data_version": "<current data version>"
}
```

*Note: The fields from `insurance` down to `insurability` will only be present if your institution has access to the Financial Impact Analytics module.*

The `period` parameter selects the risk-score horizon. FIA metrics retain their own calculation horizons. Public portfolio results are arithmetic averages across the included assets; averaged `UNINSURABLE_*` values represent the fraction flagged. `10Y_NPV`, `AAL` and `ADPT_ALPHA` are not included in this endpoint.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.alphageo.ai/for-developers/alphageo-data-api/portfolio-scores-api.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
