InfraNode in ChatGPT: Custom GPTs and GPT actions
InfraNode is also available for the OpenAI ecosystem: a curated GPT action makes the open data of all 84 large German cities usable in Custom GPTs, keyless, free and without registration. A GPT can query weather, air quality, transit departures, parking, EV charging with live occupancy, water levels, events, demographics and more, and compare cities directly.
Try the InfraNode GPT for ChatGPT
Live open data for 84 German cities, right inside ChatGPT: Open in ChatGPT (GPT Store, category Research & Analysis, free). Example prompts to start with:
- Show me the live air quality in Stuttgart and tell me if it is healthy.
- Compare population, unemployment and EV charging coverage for Berlin, Hamburg and Munich.
- Which EV charging points in Cologne are available right now?
- When are the next trains departing from Hamburg Hauptbahnhof?
- Where is fuel cheapest in Frankfurt right now?
- Create a compact live city dashboard for Leipzig.
Connect right away
The actions OpenAPI is publicly available at
https://infranode.dev/actions/openapi.json. In the GPT
editor choose Actions, Import from URL, paste the URL,
set authentication to None, done. 23 curated
operations, all GET, no keys.
Your own city-data GPT in three steps
-
In the GPT editor
go to Configure, Actions, Create new action, choose
Import from URL and paste
https://infranode.dev/actions/openapi.json. -
Leave authentication at None (the API is keyless). As
privacy policy you can use
https://infranode.dev/en/privacy/. -
In the instructions tell the GPT to start with
getCityOverview(slug), resolve unknown cities viagetCities, and cite theattributionfrom every response.
Recommended GPT instructions
A proven building block to copy into the instructions field:
You answer questions about German cities using live data from the InfraNode API.
Rules:
1. City unclear? Call getCities first and pick the matching slug.
2. Entry point per city: getCityOverview(slug) shows what data exists.
3. Use compareCities to compare several cities.
4. Every response carries data.attribution (licence + source): cite the
source in your answer, the licences require attribution.
5. meta.source_status "no_data" means the city lacks this source.
Say so honestly, never invent values.
6. Include timestamps (observed_at) whenever freshness matters. What is inside the action
The spec is deliberately curated down to 23 operations (ChatGPT allows at most 30 per action), following the same discovery pattern as the MCP server:
- Discovery:
getCities(all cities and slugs),getCityOverview(catalog of all data types per city plus a live snapshot),getSources(sources and licences). - Environment and weather: weather, official weather warnings, air quality, pollen and UV index, water levels, flood status.
- Mobility: transit departures per city, traffic situation, roadworks, parking, EV charging and live charging occupancy, fuel prices.
- City and economy: events, POIs, demographics, wholesale
electricity price, key indicators, and the city comparison
compareCities.
For everything beyond that (66 data types in total) use the
REST API directly or the
MCP server, which reaches every data type via
get_city_resource.
ChatGPT as an MCP client
Independently of Custom GPTs, ChatGPT can also use the InfraNode MCP
server directly as a connector (streamable HTTP, URL
https://mcp.infranode.dev/mcp). That is the most convenient
path with all 12 tools and 66 data types. Setup is described on the
MCP server page.
Frequently asked questions
What is the difference between the GPT action and the MCP server?
Both talk to the same InfraNode API. The GPT action is the path for Custom GPTs in the ChatGPT ecosystem (OpenAPI import, no extra service required). The MCP server is the path for MCP-capable clients such as Claude, ChatGPT connectors or your own agents, and offers more convenient discovery with its 12 tools.
Do I need an API key for the action?
No. The InfraNode API is keyless and free. In the GPT editor simply set authentication to None.
Can I use the action in my own Custom GPT?
Yes, that is exactly what it is for. Import the OpenAPI spec from https://infranode.dev/actions/openapi.json in the GPT editor under Actions. The spec is curated down to the 23 most useful operations (ChatGPT allows a maximum of 30).
What data can a GPT fetch with it?
Weather, air quality, public transit departures, parking, EV charging including live occupancy, roadworks, water levels, events, demographics, electricity prices and more, for all 84 large German cities, plus city comparisons via the compare endpoint.
Does the GPT have to cite the data sources?
Yes. Every response carries an attribution field with licence and origin (such as DL-DE/BY or CC-BY). These licences require attribution, so a GPT should include the source in its answers. Our recommended GPT instructions do this automatically.