langchain-eu-nordic-open-data
LangChain tools for official EU, Finnish and Norwegian open data, backed by the hosted
itulo/* Apify actors from
eu-nordic-open-data-mcp.
No Node.js, scraping or site search: every tool calls an official public API and every
record keeps the upstream licence and attribution fields.
| Tool | Data source | Apify actor |
|---|---|---|
ted_tender_search |
TED – Tenders Electronic Daily (Publications Office of the EU) | itulo/ted-tender-feed |
eu_sanctions_screen |
EU consolidated financial sanctions list (European Commission, DG FISMA) | itulo/eu-sanctions-screen |
eu_vies_vat_validate |
VIES VAT number validation (European Commission) | itulo/eu-vies-vat-validator |
eu_vat_rates |
EU VAT rates per Member State / CN / CPA code (European Commission TEDB, CC BY 4.0) | itulo/eu-vies-vat-validator (vat_rates mode) |
ecb_fx_rates_macro |
ECB Data Portal: euro FX reference rates, key rates, HICP | itulo/ecb-fx-rates-macro |
prh_company_events |
Finnish Patent and Registration Office (PRH/YTJ) open data; Norway's Brønnøysund Register Centre with registry="no_brreg" (NLOD 2.0) |
itulo/prh-company-events |
fmi_weather_alerts |
Finnish Meteorological Institute warnings and observations | itulo/fmi-weather-warnings-alerts |
digitraffic_port_calls |
Fintraffic Digitraffic Marine port calls | itulo/digitraffic-port-calls-marine |
fingrid_grid_signals |
Fingrid Open Data (needs free FINGRID_API_KEY) |
itulo/fingrid-grid-signals |
fmi_fingrid_nowcast |
FMI forecasts + Fingrid wind/solar/load | itulo/fmi-fingrid-nowcast |
Install
pip install langchain-eu-nordic-open-data
export APIFY_TOKEN=... # https://console.apify.com/settings/integrations
export FINGRID_API_KEY=... # optional, free from https://data.fingrid.fi
The actors are pay-per-event; runs are billed to the Apify account of your token.
Use
from langchain_eu_nordic_open_data import TedTenderSearchTool, get_tools
ted = TedTenderSearchTool()
notices = ted.invoke({"cpvCodes": ["72000000"], "countries": ["FI"], "maxResults": 5})
for n in notices:
print(n["publicationNumber"], n["title"][:80])
print(notices[0]["attribution"]) # keep the attribution when you display results
With an agent (any chat model integration):
from langchain.agents import create_agent
from langchain_eu_nordic_open_data import get_tools
agent = create_agent(
model="openai:gpt-4.1-mini",
tools=get_tools(), # Fingrid tool is added when FINGRID_API_KEY is set
system_prompt="Use the tools for EU/Finnish official data and quote each result's attribution.",
)
agent.invoke({"messages": [{"role": "user", "content": "Open IT tenders from Estonian buyers this week?"}]})
Prefer MCP? The same data is available as a local stdio MCP server
(npx eu-nordic-open-data-mcp) usable with langchain-mcp-adapters; see the
repo examples.
Data licences and attribution
Data comes from official publishers under their reuse terms (Commission Decision 2011/833/EU for TED, VIES and the sanctions list; ECB reuse policy; CC BY 4.0 for PRH, FMI, Fingrid, Digitraffic and the EU TEDB VAT rates; NLOD 2.0 for Brreg). Each record includes the attribution text and licence URL; keep them when you republish. Full register: LICENCE_REGISTER.md.
This package is independent and not affiliated with or endorsed by any of these publishers. Sanctions screening results are an aid, not legal advice. No personal data is collected; sole-trader personal data (incl. Norwegian ENK) is filtered out by the actors. No Nord Pool or exchange price data.
Development
pip install -e ".[test]" && pytest
python -m build && twine check dist/*
Licence: MIT.
Metadata
Release files for langchain-eu-nordic-open-data 0.2.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| langchain_eu_nordic_open_data-0.2.0.tar.gz | 10.5 kB | Without provenance | Details for langchain_eu_nordic_open_data-0.2.0.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| langchain_eu_nordic_open_data-0.2.0-py3-none-any.whl | Python 3 | none | any | Details for langchain_eu_nordic_open_data-0.2.0-py3-none-any.whl |
Total release size: 21.4 kB
Release files / langchain_eu_nordic_open_data-0.2.0.tar.gz
| Download URL | langchain_eu_nordic_open_data-0.2.0.tar.gz |
|---|---|
| Size | 10.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
7d972ef09ca4fbf520bebbdd2ee27c28313469ea9470bc39c0bc737d955f2d31
|
|
BLAKE2b-256 checksum How to use checksums |
d5c544cf3efebf3b333a387580dd8eedead45c0e43a9bcc27117133d1d882085
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.5
|
Release files / langchain_eu_nordic_open_data-0.2.0-py3-none-any.whl
| Download URL | langchain_eu_nordic_open_data-0.2.0-py3-none-any.whl |
|---|---|
| Size | 11.0 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
b357841887de7f37108b932baea00b28fa119b32ea89a60db0bb6baf0c8af27f
|
|
BLAKE2b-256 checksum How to use checksums |
3730beb4c4d7a719212191864deb08a90b84a38a185b3cdf62b667a4a7d5058c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.5
|
Security for langchain-eu-nordic-open-data 0.2.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.