Datia API
Data platform API for sustainable finance, providing ESG, SDG, stewardship and compliance data.
Data platform API for sustainable finance, providing ESG, SDG, stewardship and compliance data.
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/datia:datia-api"
curl "https://apis.io/api/v1/apis?limit=25"
Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.
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.1.0
info:
title: Datia API
version: '2026-10-15'
description: 'GENERATED FROM DOCUMENTATION by API Evangelist on 2026-10-15: 10 operation(s) read from 13 public documentation page(s) (each
operation names its page in x-source). This is not the provider''s published contract; Datia has published no machine-readable contract that
the pipeline could find. Engine: local.'
x-evidence-tiers:
code-example: 12
documentation: -2
pages-with-code: 13
pages-read: 13
x-generated-from: documentation
x-provenance: generated
x-authored-by: API Evangelist
x-generated: '2026-10-15'
x-generator: generate-contract-from-docs.py
x-engine: local
x-sources:
- https://docs.datia.app/docs/api-reference/instruments/get-esg-data
- https://docs.datia.app/docs/api-reference/portfolios/list-portfolios
- https://docs.datia.app/docs/api-reference/climate/get-temperature-scores
- https://docs.datia.app/docs/api-reference/instruments/get-pai-indicators
- https://docs.datia.app/docs/api-reference/instruments/get-sfdr-classification
- https://docs.datia.app/docs/api-reference/eu-taxonomy/get-eu-taxonomy-alignment
- https://docs.datia.app/docs/api-reference/instruments/get-business-involvements
- https://docs.datia.app/docs/api-reference/portfolios/delete-a-portfolio-snapshot
- https://docs.datia.app/docs/api-reference/reports/generate-a-sustainability-report
- https://docs.datia.app/docs/api-reference/sustainable-investments/list-methodologies
- https://docs.datia.app/docs/api-reference/portfolios/create-or-replace-a-portfolio-snapshot
- https://docs.datia.app/docs/api-reference/portfolios/rename-a-portfolio-or-change-its-currency
- https://docs.datia.app/docs/api-reference/sustainable-investments/classify-sustainable-investments
servers:
- url: https://eco.datia.app
paths:
/instruments/{instrumentid}:
post:
operationId: post_instruments_instrumentid
tags:
- Instruments
summary: POST /instruments/business-involvements
x-source: https://docs.datia.app/docs/api-reference/instruments/get-business-involvements
parameters:
- name: instrumentid
in: path
required: true
schema:
type: string
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/PostInstrumentsInstrumentidRequest'
responses:
'201':
description: Success (shape read from the example response on the page)
content:
application/json:
schema:
$ref: '#/components/schemas/PostInstrumentsInstrumentidResponse'
x-evidence:
kind: code-example
language: curl
snippet: 'curl Python JavaScript Copy Text curl -X POST "https://eco.datia.app/instruments/business-involvements" \ -H "x-api-key: $CE_API_KEY"
\ -H "Content-Type: application/json" \ -d ''{ "holdings": [ { "isin": "US0378331005" }, { "isin": "IE00B4L5Y983" } ], "minimum_threshold":
0 }'' 200 400 403 500 Copy Text { "data": [ { "sustainability_data": { "total_score": 212, "environment_score": 71, "social_scor'
collapsed_from: 4 example path(s) differing only at instrumentId
/portfolios:
get:
operationId: get_portfolios
tags:
- Portfolios
summary: GET /portfolios
x-source: https://docs.datia.app/docs/api-reference/portfolios/list-portfolios
responses:
'200':
description: Success (shape read from the example response on the page)
content:
application/json:
schema:
$ref: '#/components/schemas/GetPortfoliosResponse'
x-evidence:
kind: code-example
language: curl
snippet: 'curl Python JavaScript Copy Text curl -X GET "https://eco.datia.app/portfolios" \ -H "x-api-key: $CE_API_KEY" 200 400 403 500
Copy Text { "data": { "members": 4, "funds": [ { "identifier": "datia-portfolio:12345_pension-fund-a", "name": "Pension fund A", "snapshots":
[ "2026-03-31", "2026-06-30" ] } ] }, "metadata": { "message": "Organization metadata successfully retrieved" } } Generate a sustain'
post:
operationId: post_portfolios
tags:
- Portfolios
summary: Uploads the holdings of a portfolio for one date.
x-source: https://docs.datia.app/docs/api-reference/portfolios/delete-a-portfolio-snapshot
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/PostPortfoliosRequest'
responses:
'200':
description: Success (status as documented)
content:
application/json:
schema:
$ref: '#/components/schemas/PostPortfoliosResponse'
x-evidence:
kind: documentation
/portfolios/{identifier}:
delete:
operationId: delete_portfolios_identifier
tags:
- Portfolios
summary: Deletes one snapshot of a portfolio.
x-source: https://docs.datia.app/docs/api-reference/portfolios/delete-a-portfolio-snapshot
parameters:
- name: identifier
in: path
required: true
schema:
type: string
responses:
'200':
description: Success (status as documented)
content:
application/json:
schema:
$ref: '#/components/schemas/DeletePortfoliosIdentifierResponse'
x-evidence:
kind: documentation
put:
operationId: put_portfolios_identifier
tags:
- Portfolios
summary: Rename a portfolio or change its currency
description: Updates the name and currency of an existing portfolio.
x-source: https://docs.datia.app/docs/api-reference/portfolios/list-portfolios
parameters:
- name: identifier
in: path
required: true
schema:
type: string
- name: x-api-key
in: header
required: true
schema:
type: string
description: Your Connect Earth API key.
responses:
'200':
description: Success (status as documented)
x-evidence:
kind: documentation
/reports:
post:
operationId: post_reports
tags:
- Reports
summary: POST /reports
x-source: https://docs.datia.app/docs/api-reference/reports/generate-a-sustainability-report
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/PostReportsRequest'
responses:
'201':
description: Success (shape read from the example response on the page)
content:
application/json:
schema:
$ref: '#/components/schemas/PostReportsResponse'
x-evidence:
kind: code-example
language: curl
snippet: 'curl Python JavaScript Copy Text curl -X POST "https://eco.datia.app/reports" \ -H "x-api-key: $CE_API_KEY" \ -H "Content-Type:
application/json" \ -d ''{ "name": "Pension fund A", "identifier": "pension-fund-a", "type": "esg-overview", "snapshot_at": "2026-06-30",
"benchmark_etf_mutual_fund": "IE00B4L5Y983", "holdings": [ { "name": "Apple Inc.", "isin": "US0378331005", "instrument_type": "stock", '
/sustainable-investments/insights:
post:
operationId: post_sustainable_investments_insights
tags:
- Sustainable Investments
summary: POST /sustainable-investments/insights
x-source: https://docs.datia.app/docs/api-reference/sustainable-investments/classify-sustainable-investments
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/PostSustainableInvestmentsInsightsRequest'
responses:
'201':
description: Success (shape read from the example response on the page)
content:
application/json:
schema:
$ref: '#/components/schemas/PostSustainableInvestmentsInsightsResponse'
x-evidence:
kind: code-example
language: curl
snippet: 'curl Python JavaScript Copy Text curl -X POST "https://eco.datia.app/sustainable-investments/insights" \ -H "x-api-key: $CE_API_KEY"
\ -H "Content-Type: application/json" \ -d ''{ "methodology_id": 230, "holdings": [ { "name": "Apple Inc.", "isin": "US0378331005",
"instrument_type": "stock", "currency": "USD", "weight": 40, "market_value": 4000000 }, { "name": "Microsoft Corp.", "isin": "US59491810'
/sustainable-investments/methodologies:
get:
operationId: get_sustainable_investments_methodologies
tags:
- Sustainable Investments
summary: GET /sustainable-investments/methodologies
x-source: https://docs.datia.app/docs/api-reference/sustainable-investments/list-methodologies
responses:
'200':
description: Success (shape read from the example response on the page)
content:
application/json:
schema:
$ref: '#/components/schemas/GetSustainableInvestmentsMethodologiesResponse'
x-evidence:
kind: code-example
language: curl
snippet: 'curl Python JavaScript Copy Text curl -X GET "https://eco.datia.app/sustainable-investments/methodologies" \ -H "x-api-key:
$CE_API_KEY" 200 400 403 500 Copy Text { "data": [ { "id": 1, "name": "Connect Earth''s Sample" }, { "id": 230, "name": "Custom methodology"
} ] } Get ESG data POST Returns ESG scores and environmental, social and governance metrics for each ISIN, with their units. Needs acces'
/taxonomy/insights:
post:
operationId: post_taxonomy_insights
tags:
- Taxonomy
summary: POST /taxonomy/insights
x-source: https://docs.datia.app/docs/api-reference/eu-taxonomy/get-eu-taxonomy-alignment
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/PostTaxonomyInsightsRequest'
responses:
'201':
description: Success (shape read from the example response on the page)
content:
application/json:
schema:
$ref: '#/components/schemas/PostTaxonomyInsightsResponse'
x-evidence:
kind: code-example
language: curl
snippet: 'curl Python JavaScript Copy Text curl -X POST "https://eco.datia.app/taxonomy/insights" \ -H "x-api-key: $CE_API_KEY" \ -H "Content-Type:
application/json" \ -d ''{ "holdings": [ { "name": "Apple Inc.", "isin": "US0378331005", "instrument_type": "stock", "currency": "USD",
"weight": 40, "market_value": 4000000 }, { "name": "Microsoft Corp.", "isin": "US5949181045", "instrument_type": "stock", "curr'
/temperature-score/insights:
post:
operationId: post_temperature_score_insights
tags:
- Temperature Score
summary: POST /temperature-score/insights
x-source: https://docs.datia.app/docs/api-reference/climate/get-temperature-scores
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/PostTemperatureScoreInsightsRequest'
responses:
'201':
description: Success (shape read from the example response on the page)
content:
application/json:
schema:
$ref: '#/components/schemas/PostTemperatureScoreInsightsResponse'
x-evidence:
kind: code-example
language: curl
snippet: 'curl Python JavaScript Copy Text curl -X POST "https://eco.datia.app/temperature-score/insights" \ -H "x-api-key: $CE_API_KEY"
\ -H "Content-Type: application/json" \ -d ''{ "holdings": [ { "name": "Apple Inc.", "isin": "US0378331005", "instrument_type": "stock",
"currency": "USD", "weight": 40, "market_value": 4000000 }, { "name": "Microsoft Corp.", "isin": "US5949181045", "instrument_type":
"stoc'
components:
schemas:
PostInstrumentsInstrumentidRequest:
type: object
properties:
holdings:
type: array
items:
type: object
properties:
isin:
type: string
minimum_threshold:
type: integer
PostInstrumentsInstrumentidResponse:
type: object
properties:
total_score:
type: integer
environment_score:
type: integer
social_score:
type: integer
governance_score:
type: integer
business_involvements:
type: object
properties:
thermal_coal:
type: object
properties:
weight:
type: integer
count:
type: integer
tobacco_distributor:
type: object
properties:
weight:
type: integer
count:
type: integer
nuclear_weapons:
type: object
properties:
weight:
type: integer
count:
type: integer
GetPortfoliosResponse:
type: object
properties:
data:
type: object
properties:
members:
type: integer
funds:
type: array
items:
type: object
properties:
identifier:
type: string
name:
type: string
snapshots:
type: array
items:
type: string
format: date
metadata:
type: object
properties:
message:
type: string
PostPortfoliosRequest:
type: object
properties:
snapshot_at:
type: string
description: Date of the snapshot (ISO 8601).
name:
type: string
currency:
type: string
holdings:
type: array
description: Holdings data for the portfolio.
required:
- snapshot_at
PostPortfoliosResponse:
type: object
properties:
identifier:
type: string
DeletePortfoliosIdentifierResponse:
type: object
properties:
identifier:
type: string
metadata.message:
type: string
description: One of Fund snapshot deleted successfully, Fund deleted successfully with all snapshots, Fund deleted successfully or Fund
snapshot not found.
PostReportsRequest:
type: object
properties:
name:
type: string
identifier:
type: string
type:
type: string
snapshot_at:
type: string
format: date
benchmark_etf_mutual_fund:
type: string
holdings:
type: array
items:
type: object
properties:
name:
type: string
isin:
type: string
instrument_type:
type: string
currency:
type: string
weight:
type: integer
market_value:
type: integer
PostReportsResponse:
type: object
properties:
document:
type: object
properties:
location_url:
type: string
request_id:
type: string
metadata:
type: object
properties:
snapshot_at:
type: string
format: date
type:
type: string
default_benchmark:
type: string
identifier:
type: string
PostSustainableInvestmentsInsightsRequest:
type: object
properties:
methodology_id:
type: integer
holdings:
type: array
items:
type: object
properties:
name:
type: string
isin:
type: string
instrument_type:
type: string
currency:
type: string
weight:
type: integer
market_value:
type: integer
PostSustainableInvestmentsInsightsResponse:
type: object
properties:
data:
type: array
items:
type: object
properties:
name:
type: string
isin:
type: string
weight:
type: integer
sustainability_profile:
type: object
properties:
classification:
type: integer
description:
type: string
metadata:
type:
- string
- 'null'
GetSustainableInvestmentsMethodologiesResponse:
type: object
properties:
data:
type: array
items:
type: object
properties:
id:
type: integer
name:
type: string
PostTaxonomyInsightsRequest:
type: object
properties:
holdings:
type: array
items:
type: object
properties:
name:
type: string
isin:
type: string
instrument_type:
type: string
currency:
type: string
weight:
type: integer
market_value:
type: integer
PostTaxonomyInsightsResponse:
type: object
properties:
data:
type: object
properties:
taxonomy_alignment_%:
type: number
taxonomy_eligible_turnover_%:
type: number
taxonomy_alignment_turnover_%:
type: number
taxonomy_alignment_enabling_turnover_%:
type: number
taxonomy_alignment_transitional_turnover_%:
type: number
taxonomy_eligible_capex_%:
type: number
taxonomy_alignment_capex_%:
type: number
taxonomy_alignment_enabling_capex_%:
type: number
taxonomy_alignment_transitional_capex_%:
type: number
taxonomy_eligible_opex_%:
type: number
taxonomy_alignment_opex_%:
type: number
taxonomy_alignment_enabling_opex_%:
type: number
taxonomy_alignment_transitional_opex_%:
type: integer
taxonomy_alignment_enabling_%:
type: number
taxonomy_alignment_transitional_%:
type: number
taxonomy_alignment_no_gas_and_nuclear_turnover_%:
type: number
taxonomy_alignment_no_gas_and_nuclear_capex_%:
type: number
taxonomy_alignment_no_gas_and_nuclear_opex_%:
type: number
taxonomy_alignment_fossil_gas_turnover_%:
type: number
taxonomy_alignment_fossil_gas_capex_%:
type: number
taxonomy_alignment_fossil_gas_opex_%:
type: number
taxonomy_alignment_nuclear_turnover_%:
type: number
taxonomy_alignment_nuclear_capex_%:
type: number
taxonomy_alignment_nuclear_opex_%:
type: number
taxonomy_alignment_no_gas_and_nuclear_turnover_excluding_sovereign_bonds_%:
type: number
taxonomy_alignment_no_gas_and_nuclear_capex_excluding_sovereign_bonds_%:
type: number
taxonomy_alignment_no_gas_and_nuclear_opex_excluding_sovereign_bonds_%:
type: number
taxonomy_alignment_fossil_gas_turnover_excluding_sovereign_bonds_%:
type: number
taxonomy_alignment_fossil_gas_capex_excluding_sovereign_bonds_%:
type: number
taxonomy_alignment_fossil_gas_opex_excluding_sovereign_bonds_%:
type: number
taxonomy_alignment_nuclear_turnover_excluding_sovereign_bonds_%:
type: number
taxonomy_alignment_nuclear_capex_excluding_sovereign_bonds_%:
type: number
PostTemperatureScoreInsightsRequest:
type: object
properties:
holdings:
type: array
items:
type: object
properties:
name:
type: string
isin:
type: string
instrument_type:
type: string
currency:
type: string
weight:
type: integer
market_value:
type: integer
PostTemperatureScoreInsightsResponse:
type: object
properties:
portfolio:
type: object
properties:
companies:
type: array
items:
type: object
properties:
isin:
type: string
name:
type: string
aum:
type: integer
market_value:
type: integer
temperature_score:
type: number
target:
type: number
base_year:
type: integer
industry:
type: string
funds:
type: array
items:
type: object
properties:
public_isin:
type: string
name:
type: string
aum:
type: integer
market_value:
type: integer
temperature_score:
type: number
target:
type: number
base_year:
type: integer
industries:
type: array
items:
type: object
properties:
id:
type: string
name:
type: string
job_metadata:
type: object
properties:
is_lock:
type: boolean
securitySchemes:
apiKey:
type: apiKey
in: header
name: x-api-key
security:
- apiKey: []
tags:
- name: Instruments
- name: Portfolios
- name: Reports
- name: Sustainable Investments
- name: Taxonomy
- name: Temperature Score