About finwire.pl - Polish financial data
finwire.pl is a free REST API for Polish financial, labor-market, and real-estate data, for application developers, researchers, and AI clients. Its JSON responses include sources, license details, and ready-to-use citations, and it also supports MCP.
Key features
- 01Interest rates, inflation, and FX data
- 02Housing transaction prices, rents, and supply
- 03Wages, unemployment, and credit-market data
- 04Macro indicators, calendar, and legal limits
- 05Responses include sources, licenses, and citations
Use cases
- 01Build mortgage and savings calculators
- 02Create research charts with source citations
- 03Analyze housing prices and rents by city
- 04Look up wages by occupation and regional unemployment
MCP support
It provides a keyless, read-only MCP server over Streamable HTTP, exposing financial, macroeconomic, housing, credit, and legal data to clients. Tools, resources, and prompts support dataset discovery, indicator queries, and report generation.
Configuration
Remote servers need no local install. Pick your client, then copy the config or install in one click.
https://public-api.finwire.pl/mcpclaude mcp add --transport http pl-finwire-data https://public-api.finwire.pl/mcp{"mcpServers":{"pl-finwire-data":{"type":"http","url":"https://public-api.finwire.pl/mcp"}}}Open in Cursor{"servers":{"pl-finwire-data":{"type":"http","url":"https://public-api.finwire.pl/mcp"}}}Open in VS Code{"mcpServers":{"pl-finwire-data":{"type":"http","url":"https://public-api.finwire.pl/mcp"}}}{"mcpServers":{"pl-finwire-data":{"serverUrl":"https://public-api.finwire.pl/mcp"}}}Run commands in a terminal; paste JSON into the client’s MCP config and restart. Servers that need sign-in will prompt on first connect.
Tools
Details
From the project READMEfinwire API - free Polish financial data API (NBP, GUS, RCN)
finwire API is a free, open REST API with financial, labour market and real estate data for Poland: NBP policy rates, CPI inflation, NBP exchange rates, 10-year government bond yields, flat transaction prices from notarial deeds, rents, housing supply, wages by occupation, unemployment by province and county, and an economic calendar. No API key, JSON over HTTPS, OpenAPI 3 specification, every response with its primary source and a ready-to-paste citation. Built and maintained by finwire.pl.
curl "https://public-api.finwire.pl/v1/series/interest-rate/stopa-referencyjna?days=90"
- Base URL:
https://public-api.finwire.pl - Auth: none - no key, no sign-up, GET only, CORS enabled (works from the browser)
- Format: JSON, UTF-8,
{ data, meta }envelope - Specification: openapi.json · interactive reference · llms.txt · dataset pages
- Data license: CC BY 4.0 for finwire indicators and aggregates; public data requires attribution to the original source; the license of each dataset is in its
licensefield - WIBOR and POLSTR: not available. They are GPW Benchmark data; redistribution requires a Market Data License Agreement with GPW (gpwbenchmark.pl)
- Changes: CHANGELOG.md
Po polsku: darmowe API z polskimi danymi finansowymi - stopy NBP, inflacja CPI (GUS), kursy walut NBP, rentowności obligacji, ceny transakcyjne mieszkań z Rejestru Cen Nieruchomości, czynsze i rentowność najmu, podaż mieszkań, wynagrodzenia GUS (także według zawodów), bezrobocie w województwach i powiatach, próg wejścia (ile trzeba zarabiać na kredyt na mieszkanie), limity podatku od nieruchomości, kalendarz odczytów makro. Bez klucza i rejestracji. Opis po polsku: finwire.pl/otwarte-api.
Contents
- Data coverage
- Use cases
- Quick start
- MCP server for AI assistants
- Response format and citation
- Endpoints
- FAQ
- Glossary
- OpenAPI specification and TypeScript types
- Rate limits
- Usage policy and disclaimer
Data coverage
Every dataset comes from its primary source and is served in one format, with that source in
meta.
Each dataset name links to its documentation page with fields, source and citation.
| Data | Endpoint | Primary source | Frequency | History |
|---|---|---|---|---|
| NBP policy rates (reference, lombard, deposit, rediscount, discount) | /v1/series/interest-rate/{id} | NBP | on MPC decisions | up to 10 years |
| CPI inflation (YoY, MoM) | /v1/series/cpi | GUS | monthly | since 1982 |
| NBP exchange rates (table A mid, table C bid/ask) | /v1/series/fx/{code} | NBP | daily (business days) | up to 10 years |
| 10-year government bond yields: PL, DE, euro area, EU + spreads | /v1/series/bond-yields/{geo} | Eurostat irt_lt_mcby_m | monthly | since 2001 |
| Retail government bonds (OTS, ROR, DOR, TOS, COI, EDO, ROS, ROD) | /v1/bonds | Ministry of Finance | monthly issues | current issues |
| Flat transaction prices per m² (median, quartiles, primary/secondary) - 17 cities and their districts | /v1/housing/transactions/{city} | Real Estate Price Register (RCN, GUGiK + city registers) | quarterly, ingested daily | last 12 quarters per city |
| Housing prices per m² in 17 cities | /v1/series/housing/{city} | GUS | quarterly | latest quarters |
| Housing supply: dwellings per 1000, completions, permits, migration | /v1/housing/supply/{city} | GUS BDL, Census 2021 | yearly | since 2010 |
| Asking rents per city and district | /v1/rent/{city} | znajdznajem.pl | daily snapshot | current + previous month |
| Rental yield (gross, net, payback) | /v1/rent/yield | finwire.pl (rents + RCN prices) | daily | current |
| Wages: median, percentiles, 16 provinces | /v1/wages | GUS | on GUS release | current |
| Wages by occupation: mean, median, deciles, gender gap - about 175 groups | /v1/wages/occupations/{code} | GUS | every 2 years | survey editions |
| Registered unemployment: Poland, 16 provinces, highest/lowest counties | /v1/series/unemployment | GUS BDL | monthly | since 2011 |
| Macroeconomic indicators: GDP, retail sales, output, CPI, unemployment, wages, FX, credit, limits | /v1/macro/indicators | GUS, NBP, Eurostat, Ministry of Finance | on release | full history per indicator |
| Consumer sentiment: BWUK, WWUK and 13 components | /v1/macro/consumer-sentiment | GUS | monthly | since 2010 |
| Average wage, enterprise sector by province | /v1/wages/enterprise | GUS | monthly | 2 years |
| Gold price (1 g, fineness 1000) | /v1/series/gold | NBP | daily (business days) | since 2013 |
| Maximum fuel prices: Pb95, Pb98, diesel | /v1/fuel-prices | Minister of Energy (Monitor Polski) | on announcement | all announcements |
| Regulated electricity and gas prices: household tariffs G11, G12, G12w and W-1.1 to W-4 | /v1/energy/regulated-prices | President of URE (tariff decisions) | on new decision | tariff years in force |
| Brokerage account fees: commissions on GPW, US and German stocks, account and FX fees | /v1/brokers | brokers' official fee tables, compiled by finwire.pl | weekly check | current fee tables |
| Legal changes radar: acts entering into force, bills in the Sejm | /v1/legal-changes | Sejm ELI API | daily | upcoming and recent |
| Residents income by municipality and county | /v1/income/municipalities | Ministry of Finance (Rb-27S), GUS BDL, computed by finwire.pl | yearly, quarterly update | budget years |
| Housing running costs in 20 cities | /v1/housing/upkeep/{city} | GUS BDL | yearly | latest year |
| House prices and housing conditions in Europe | /v1/housing/europe | Eurostat | quarterly, yearly | since 2010 (conditions) |
| Bank lending survey | /v1/credit-market/survey | NBP | quarterly | editions |
| Household loans and deposits | /v1/credit-market/monetary | NBP | monthly | up to 400 months |
| Interest rates on new loans in Europe | /v1/credit-market/ecb-rates | ECB MIR | monthly | since 2014 |
| Economic calendar: MPC (RPP) decisions, CPI, wages, GDP, unemployment | /v1/calendar | GUS, NBP, compiled by finwire.pl | continuous | upcoming events |
| IKE / IKZE contribution limits | /v1/legal-limits | Ministry of Family announcements | yearly | current year |
| Property tax upper limits | /v1/legal-limits/local-tax | Minister of Finance (Monitor Polski) | yearly | announced tax years |
| Deposit, savings, mortgage and cash loan rate aggregates | /v1/market/* | finwire.pl (aggregate of offers on the market) | daily | current |
| Entry threshold: wage needed for a mortgage on a model flat, 17 cities | /v1/index/entry-threshold | finwire.pl (GUS prices, mortgage offers, GUS wage distribution) | daily | since September 2026 |
| Finwire Nowcast: forecasts of CPI and core inflation and the RPP decision | /v1/macro/nowcast | finwire.pl model (inputs: GUS, NBP, EC Oil Bulletin) | daily, frozen 3 working days before publication | backtest since 2019 (CPI, core), 2012 (RPP) |
| finwire indicators: credit stress map, barometers | /v1/index/* | finwire.pl (computed from the above) | daily (credit stress), monthly (barometers) | barometers since 2015 |
Aggregates never expose single offers, deeds or listings - only medians, percentiles and counts.
Use cases
- Mortgage and savings calculators - NBP reference rate and market median mortgage rates in one call (
/v1/snapshot). - Newsroom and research charts - CPI since 1982, unemployment since 2011, bond yields since 2001, with a ready citation in
meta. - Real estate analysis - transaction prices per district, rents, rental yield and housing supply for 17 cities.
- Labour market and HR - wages by occupation with deciles and the gender pay gap, unemployment by county.
- Personal finance apps - IKE/IKZE limits, retail bond rates, deposit and savings rate medians.
- AI assistants and agents - an MCP server (Streamable HTTP, no key) serves rates, FX, housing prices, rents, the credit market, legal limits, law changes and macro data to Claude, ChatGPT, Cursor, VS Code and other MCP clients; llms.txt and the OpenAPI spec describe every dataset in machine-readable form.
Quick start
curl
# Current table of NBP policy rates
curl "https://public-api.finwire.pl/v1/series/interest-rate"
# Median flat transaction price per m² by district in Kraków
curl "https://public-api.finwire.pl/v1/housing/transactions/krakow"
# Next 10 macro releases and MPC decisions
curl "https://public-api.finwire.pl/v1/calendar?limit=10"
JavaScript / TypeScript (browser or Node 18+)
const res = await fetch('https://public-api.finwire.pl/v1/series/interest-rate/stopa-referencyjna?days=365');
const { data, meta } = await res.json();
console.log(data.points.at(-1), meta.citation);
Python
import requests
r = requests.get("https://public-api.finwire.pl/v1/series/cpi", params={"type": "monthly", "limit": 24})
payload = r.json()
for row in payload["data"]["entries"]:
print(row["period"], row["yoy"])
print(payload["meta"]["citation"])
MCP server for AI assistants
https://public-api.finwire.pl/mcp - Model Context Protocol over Streamable HTTP, stateless, no key, read-only. The same data, whitelist and licenses as /v1.
| Client | How to connect |
|---|---|
| Claude (claude.ai, Desktop) | Settings - Connectors - Add custom connector - URL https://public-api.finwire.pl/mcp |
| Claude Code | claude mcp add --transport http finwire https://public-api.finwire.pl/mcp |
| ChatGPT | Connectors in developer mode - create a connector with the URL above, no authentication |
| Cursor | ~/.cursor/mcp.json: {"mcpServers": {"finwire": {"url": "https://public-api.finwire.pl/mcp"}}} |
| VS Code | .vscode/mcp.json: {"servers": {"finwire": {"type": "http", "url": "https://public-api.finwire.pl/mcp"}}} |
Tools (all read-only, each with outputSchema):
- Macro:
get_macro_snapshot,list_macro_indicators,get_macro_indicator,compare_macro_indicators,get_macro_changes,get_macro_calendar - Rates and prices:
get_interest_rates(NBP),get_currency_rates(NBP FX, gold),get_fuel_prices,get_energy_prices(URE electricity and gas tariffs) - Forecasts:
get_nowcast(Finwire Nowcast: CPI and core inflation, RPP decision probabilities, accuracy) - Housing:
get_housing_prices(notarial deeds, cities and districts),get_rents(rents, rental yield),get_housing_costs - Credit, savings and investing:
get_credit_market,get_bank_rates(aggregates only, no single offers; retail bonds),get_broker_fees(brokerage fee tables) - Law:
get_legal_limits(IKE/IKZE, PIT, minimum wage, local tax limits),get_legal_changes - Regions and Europe:
get_regional_data,get_europe_data - Any dataset:
search_datasets,get_dataset
Every result carries the period of the data, the original source, license, a ready citation and url - the finwire.pl page with the full table, chart and calculator (with utm_source=mcp). Resources: macro://catalog, finwire://datasets, finwire://dataset/{id}; prompts: macro_briefing, explain_indicator, city_housing_report, personal_finance_limits.
Discovery: server card (application/mcp-server-card+json), /.well-known/ai-catalog.json, registry manifest server.json.
Response format and citation
Every response uses the same envelope. Values below are illustrative - call the endpoint for current data.
{
"data": { "...": "dataset-specific payload" },
"meta": {
"datasetId": "interest-rates",
"source": "NBP, GPW Benchmark",
"sourceUrl": "https://nbp.pl",
"license": "Public NBP / GPW Benchmark data - attribution required.",
"asOf": "2026-10-14",
"fetchedAt": "2026-10-15T08:00:00.000Z",
"citation": "Source: finwire.pl (NBP, GPW Benchmark), https://public-api.finwire.pl/datasets/interest-rates",
"docsUrl": "https://public-api.finwire.pl/datasets/interest-rates"
}
}
meta.asOf- the date of the data at the source (not the time of your request).meta.citation- a ready-to-use attribution string with a link. Use it as is.
How to cite: Source: finwire.pl (<primary source>), https://public-api.finwire.pl/datasets/<dataset-id>
| Code | Meaning |
|---|---|
200 | OK |
404 | Unknown dataset, indicator, city or geo code |
429 | Rate limit exceeded (see Retry-After) |
503 | Primary source temporarily unavailable |
Endpoints
Interest rates, inflation, FX, bond yields, unemployment
| Endpoint | Returns |
|---|---|
GET /v1/series/interest-rate | Current table of NBP policy rates |
GET /v1/series/interest-rate/{id}?days=365 | Daily history. id: stopa-referencyjna, stopa-lombardowa, stopa-depozytowa, stopa-redyskontowa, stopa-dyskontowa. days: 7-3650 |
GET /v1/series/cpi?type=monthly&limit=24 | CPI YoY and MoM. type: monthly or yearly, limit: 1-600 |
GET /v1/series/fx | Current NBP FX table |
GET /v1/series/fx/{code}?days=365 | FX history, e.g. EUR, USD, CHF, GBP |
GET /v1/series/bond-yields | Latest 10-year yields for PL, DE, EA, EU27_2020, PL-DE and PL-EA spreads in bps |
GET /v1/series/bond-yields/{geo}?since=2015-01 | Monthly history for one geo |
GET /v1/series/unemployment | Registered unemployment rate: Poland and 16 provinces, latest month, YoY change in pp |
GET /v1/series/unemployment/counties?limit=10 | Counties (powiaty) with the lowest and highest rate, limit 1-50 |
GET /v1/series/unemployment/history?unit={unitId} | Monthly history since 2011 for Poland (default) or a province (unitId from regions[]) |
Real estate
| Endpoint | Returns |
|---|---|
GET /v1/housing/transactions | 17 cities: median, p25, p75 price per m² from notarial deeds, primary vs secondary market, transaction count, YoY, quarterly trend |
GET /v1/housing/transactions/{city} | Districts of a city: 12-month median price per m², transaction count, YoY, difference vs city median |
GET /v1/series/housing and /{city} | GUS housing prices per m² for 17 cities, latest quarters, nominal and real YoY |
GET /v1/rent and /{city} | Asking rents: median, mean, per m², month-over-month change, districts |
GET /v1/rent/yield | Gross and net rental yield and payback period per city |
GET /v1/housing/supply | Dwellings per 1000 residents, stock, completions, permits, floor area per person, population and migration: Poland, 16 provinces, 17 cities, yearly since 2010, Census 2021, GUS population forecast |
GET /v1/housing/supply/{city} | One city vs its province and Poland, rank among 17 cities, yearly history |
provisionalQuarters in transaction data lists quarters the registry is still filling in - treat them as preliminary.
Wages, legal limits, calendar, market aggregates
| Endpoint | Returns |
|---|---|
GET /v1/bonds | Retail government bond rates by issue |
GET /v1/wages | GUS wage median, percentiles and provincial averages |
GET /v1/wages/occupations | Gross wages for about 175 occupation groups: mean, median, deciles D1-D9, men vs women, public vs private, gender pay gap |
GET /v1/wages/occupations/{code} | One occupation group with its parent groups and survey edition history |
GET /v1/legal-limits | IKE / IKZE annual contribution limits and related values |
GET /v1/legal-limits/local-tax | Upper limits of property tax rates (land, buildings, structures) per tax year, with the act and legal basis |
GET /v1/macro/indicators | Headline indicators with the latest reading, change, sparkline and source |
GET /v1/macro/indicators/{key}/history?from=2020-01 | Full history of one indicator |
GET /v1/macro/consumer-sentiment | GUS BWUK, WWUK and components with the history |
GET /v1/wages/enterprise | GUS average wage in the enterprise sector, real change, by province |
GET /v1/series/gold | NBP gold price: latest, period changes, all-time high, 12-month average |
GET /v1/series/gold/history?range=1y | Gold price history, range: 1m, 1y, 5y, max |
GET /v1/fuel-prices | Maximum fuel prices: in force today, announced for tomorrow, history |
GET /v1/energy/regulated-prices?date=2026-10-29 | Household electricity and gas tariffs approved by URE in force on a day (default today): energy and distribution rates, fees, cheaper-zone hours, decision and PDF per row; net amounts |
GET /v1/brokers | Broker fee tables: commissions by market, account and FX fees, IKE/IKZE, active promotions, fee table URL and weekly check status |
GET /v1/legal-changes?days=90 | Acts entering into force soon and recently, open bills in the Sejm |
GET /v1/legal-changes/process/{term}/{number} | One bill: last stage, passage, published act |
GET /v1/income/municipalities?year=2025 | Residents income per capita by municipality: rank, ratio to the national average, change |
GET /v1/income/counties?year=2025 | The same by county |
GET /v1/housing/upkeep/{city} | Monthly running costs of a flat in a city (list: /v1/housing/upkeep) |
GET /v1/housing/europe | Eurostat house price index: Poland vs EU vs euro area and country ranking |
GET /v1/housing/europe/overburden and /overcrowding | Housing cost overburden and overcrowding rates by country |
GET /v1/credit-market/survey?quarters=12 | NBP bank lending survey |
GET /v1/credit-market/monetary?months=25 | NBP household loans, deposits and new loans |
GET /v1/credit-market/ecb-rates?product=mortgage_total&period=2026-08 | ECB MIR rate on new loans by country |
GET /v1/credit-market/ecb-rates/series?areas=PL,U2,DE&from=2018-01 | ECB MIR history for selected countries |
GET /v1/calendar?limit=10 | Upcoming releases and decisions with date, Warsaw time, category, importance 1-10 |
GET /v1/market/deposit-rates?amount=10000&period=3 | Term deposit rates: median, percentiles, spread |
GET /v1/market/savings-rates?amount=10000 | Savings account rates: median, percentiles |
GET /v1/market/mortgage-rates?amount=400000&period=25 | Mortgage APRC (RRSO), margin, nominal rate: median, percentiles |
GET /v1/market/cash-loan-rates?amount=20000&period=48 | Cash loan APRC and nominal rate: median, percentiles |
finwire indicators
| Endpoint | Returns |
|---|---|
GET /v1/macro/nowcast | Finwire Nowcast: next CPI and core inflation reading (point, 80% interval) and RPP decision probabilities, freeze date and status, settled history vs actual readings, backtest and live accuracy |
GET /v1/index/entry-threshold | Gross monthly wage per person needed for a mortgage on a model flat (parameters in params) within KNF DSTI limits in 17 cities, the installment, and the share of employees earning at least that |
GET /v1/index/entry-threshold/history?household=single | Daily change points per city, household: single or couple |
GET /v1/index/credit-stress | Mortgage installment for a 50 m² flat as % of the average net wage in 16 provinces, with KNF Recommendation S DSTI thresholds |
GET /v1/index | All barometers with value, position against history and monthly change |
GET /v1/index/{slug} | One barometer with monthly series, methodology and best/worst month since 2015. slug: real-deposit-rate, housing-affordability, credit-cost, borrowing-power, purchasing-power |
GET /v1/snapshot | Rates, inflation, FX, credit stress and barometers in one call |
Full field-level schemas: openapi.json.
FAQ
Does the API return WIBOR or POLSTR?
No. WIBOR and POLSTR are administered by GPW Benchmark, and redistributing them requires a
Market Data License Agreement with GPW ([email protected]). The API returns NBP
policy rates: current values at /v1/series/interest-rate and daily history at
/v1/series/interest-rate/{id}.
Where can I get Polish CPI inflation data as JSON?
/v1/series/cpi returns GUS consumer price inflation year-over-year and month-over-month,
monthly since 1982 (type=monthly) or annually (type=yearly), with the GUS source in
meta.
Is there an API for real estate transaction prices in Poland?
/v1/housing/transactions returns median, quartile and per-district flat prices per m²
computed from notarial deeds in the Polish Real Estate Price Register (Rejestr Cen
Nieruchomości) for 17 cities, with a quarterly trend for the last 12 quarters and a
12-month median per district. Single deeds are never exposed.
How much do I need to earn to buy a flat in a Polish city?
/v1/index/entry-threshold returns, for 17 Polish cities, the gross monthly wage one person
needs to get a mortgage on a model 50 m² secondary-market flat (20% down payment, 25 years)
within the KNF DSTI limits, the monthly installment and the share of employees who earn at
least that. It is recomputed every night from GUS prices, current mortgage offers and the GUS
wage distribution; /history shows how it changed.
Where can I get unemployment data by county (powiat)?
/v1/series/unemployment returns the GUS registered unemployment rate for Poland and the 16
provinces, /v1/series/unemployment/counties the counties with the lowest and highest rate,
and /v1/series/unemployment/history the monthly series since 2011, all from the GUS Local
Data Bank (BDL).
Is there an API for salaries by occupation in Poland?
/v1/wages/occupations returns mean, median and deciles of gross monthly wages for about 175
occupation groups from the GUS survey of wages by occupation (published every two years),
split by gender and by public vs private sector, with the gender pay gap.
Do I need an API key or an account?
No key, token or sign-up is required. All endpoints are public, read-only (GET) and CORS-enabled, so they can be called directly from a browser.
Can I use the data commercially?
finwire indicators and aggregates are licensed under CC BY 4.0, which allows commercial use
with attribution. Public data (NBP, GUS, Ministry of Finance, Eurostat, GPW Benchmark)
requires attribution to the original source; meta.license states the terms per dataset.
How fresh is the data?
Each dataset is refreshed automatically from its primary source on the source's own schedule
(daily for FX and rents, monthly for CPI and bond yields, quarterly for housing prices).
meta.asOf always shows the date of the data at the source.
What is the difference between WIBOR and POLSTR?
WIBOR and POLSTR are both Polish interest rate benchmarks administered by GPW Benchmark. In the ongoing Polish benchmark reform supervised by KNF, POLSTR is the designated successor to WIBOR. Neither is available in this API (license required from GPW Benchmark).
Does the API give investment advice?
No. The data is informational. finwire.pl is not a licensed investment adviser and does not issue recommendations within the meaning of the EU Market Abuse Regulation (MAR).
Glossary
- NBP reference rate - the main policy rate of Narodowy Bank Polski, set by the Monetary Policy Council (RPP).
- WIBOR (Warsaw Interbank Offered Rate) - Polish interbank benchmark used for floating-rate loans.
- POLSTR (Polish Short Term Rate) - GPW Benchmark interest rate index, WIBOR's successor in the benchmark reform.
- CPI - consumer price index published monthly by GUS (Statistics Poland).
- RCN (Rejestr Cen Nieruchomości) - Real Estate Price Register with prices from notarial deeds.
- RRSO - Polish APRC (annual percentage rate of charge), the total cost of a loan.
- DSTI - debt service to income ratio, the share of income spent on loan installments.
- bps - basis points, 1 bps = 0.01 percentage point.
- BDL (Bank Danych Lokalnych) - GUS Local Data Bank with statistics for provinces, counties and municipalities.
- TERYT - official Polish territorial code of provinces, counties and municipalities.
- Entry threshold (próg wejścia) - finwire indicator: the wage needed to qualify for a mortgage on a model flat.
- Property tax upper limit - the maximum local property tax rate set yearly by the Minister of Finance; municipalities choose their rate up to it.
OpenAPI specification and TypeScript types
This repository ships the OpenAPI specification and TypeScript types generated from it. Both are regenerated from the live API on every release.
openapi.json- OpenAPI 3 specification (live: public-api.finwire.pl/openapi.json)types/api.ts- TypeScript types generated with openapi-typescript
import type { paths } from './types/api';
type TransactionPrices =
paths['/v1/housing/transactions/{city}']['get']['responses']['200']['content']['application/json'];
Rate limits
- 120 requests per minute per IP, 30 per minute for
/v1/snapshot. - Headers:
X-RateLimit-Limit,X-RateLimit-Remaining,X-RateLimit-Reset;429comes withRetry-After. - Responses are cached at the edge (5 minutes to 1 hour depending on the dataset), so typical use never hits the limit.
Usage policy and disclaimer
- Free and open, GET only. Please cache responses on your side.
- Attribute the data with the
meta.citationstring orSource: finwire.pl, https://public-api.finwire.pl. - Single bank offers, notarial deeds and rental listings are never exposed - only statistics.
- Informational data only, not investment advice (see FAQ).
Built by finwire.pl - Polish personal finance tools: mortgage decision tool, flat prices by city, deposit rankings.
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.