Cenogram Infrastructure API

Upcoming-infrastructure signals per municipality: public tenders, sewage-programme agglomerations, planned capital expenditure

Operations 1

GET /api/v1/infrastructure-signals Upcoming-infrastructure signals by municipality #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • 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.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/cenogram-pl:cenogram-pl-infrastructure-api"
All apis
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.

Get an API 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 Specification

cenogram-pl-infrastructure-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Cenogram Infrastructure API
  version: 1.0.0
  description: 'Property and parcel intelligence for Poland. 8M+ verified transactions from the official RCN registry (Rejestr Cen Nieruchomości) — prices from notarial deeds, not asking/listing prices, from 2003 to present, nationwide. On top of prices: the picture we hold of a parcel — cadastral core, the deed history recorded against it, and context layers (flood hazard, general-plan zoning, building permits, structures, heritage, landslide hazard, subsurface constraints from mining terrains and groundwater reservoirs, surroundings, transit access, road access, agricultural use), plus municipality-level demographics and infrastructure signals, and a comparable-based valuation estimate. Context layers are sourced from official public registers. Transaction coverage is nationwide; the cadastral parcel corpus is near-complete but not the whole register and not live — every parcel collection carries a `corpus_coverage` block measuring what we hold for the counties it addresses. Access is metered in tokens: a new account starts with a token allowance and a trial, after which a free account keeps calling on a recurring free allowance, and paid plans raise it. Current allowances, trial length and prices live at https://cenogram.pl/api and are deliberately not repeated here, because a figure frozen into this description goes stale on its own. A 402 response carries the current balance and, on a free account, the date the next tokens arrive. Every operation states its price both in prose and machine-readably, in the `x-cenogram-token-cost` extension field, generated from the one pricing table. Tokens and credits are the same unit under two names: the response headers (`X-Credits-Cost`, `X-Credits-Balance`, `X-Credits-Refunded`) and some older endpoint descriptions say credits. Working with an AI assistant? Give it https://cenogram.pl/api/llms.txt — this whole surface as one plain-text file, costs, refund rules and response conventions included.'
servers:
- url: https://cenogram.pl
security:
- apiKey: []
tags:
- name: Infrastructure
  description: 'Upcoming-infrastructure signals per municipality: public tenders, sewage-programme agglomerations, planned capital expenditure'
paths:
  /api/v1/infrastructure-signals:
    get:
      summary: Upcoming-infrastructure signals by municipality
      tags:
      - Infrastructure
      description: 'Signals that a municipality is about to build infrastructure: public tenders for sewerage, water supply, roads, lighting, gas and cycling infrastructure; membership in a national sewage-treatment agglomeration; and the municipality''s own planned capital expenditure.


        **Addressing**: `location` (city or county name) aggregates over every municipality in that county; a gmina name addresses that municipality alone, and a name shared by several units answers 400 with the candidates. A raw `teryt` of 6-7 digits addresses one municipality exactly; 4 digits aggregates a county.


        **Known limits**: tenders come from the national bulletin, which carries below-EU-threshold contracts only (from 2021) — the largest investments are published elsewhere and are not visible here. A tender is attributed to the seat of the contracting authority, not to the works location; `by_category` therefore counts municipal authorities only, while `recent` lists everything with an `attribution_confidence` flag. No tenders in the data does NOT mean the municipality is not investing.


        **Aggregated responses**: when a county is addressed, `capex.by_year[*].gmina_count` says how many municipalities were summed, and `doc_category` becomes `mixed` if they adopted different plan types. `tenders.recent` and `kposk.agglomerations` are capped at 20 entries each, with a `truncated` flag per section.


        Costs 1 token per call.'
      parameters:
      - schema:
          type: string
          example: Krotoszyn
        in: query
        name: location
        required: false
        description: City, county or gmina name (a county is aggregated, a gmina is addressed alone; a name shared by several units returns the candidates)
      - schema:
          type: string
          example: '300400'
        in: query
        name: teryt
        required: false
        description: 'TERYT code: 4 digits = county (aggregated), 6-7 digits = municipality'
      x-cenogram-token-cost: 1
      responses:
        '200':
          description: Default Response
      operationId: getApiV1InfrastructureSignals
      x-operation-id-source: derived
components:
  securitySchemes:
    apiKey:
      type: apiKey
      name: X-Api-Key
      in: header