Publiczne API i serwer MCP
Udostępniamy aktualny cennik świadectw charakterystyki energetycznej, FAQ i listę obsługiwanych miast jako darmowe API JSON — bez klucza, bez rejestracji, z otwartym CORS. Osobno działa serwer MCP, przez który asystent AI może złożyć zamówienie w imieniu klienta, oraz API partnerów dla systemów CRM i portali ogłoszeniowych.
- Autoryzacja
- Brak — endpointy otwarte
- Format
- JSON, UTF-8, język polski
- Cache
- 1 h w przeglądarce, 24 h na CDN
Zasady korzystania
- Bez klucza i bez limitu. Endpointy tylko-do-odczytu odpowiadają na zwykłe
GETi obsługująOPTIONS(preflight). Odpowiedź jest cache'owana, więc nie ma sensu odpytywać ich częściej niż raz na godzinę. - Podaj źródło. Możesz wykorzystać te dane u siebie, jeśli wskażesz źródło linkiem do swiadectwo-energetyczne24.pl. Nie podawaj naszej oferty jako własnej.
- Ceny się zmieniają.
basePricePlnto zawsze aktualna cena brutto z VAT. Jeśli pokazujesz ceny u siebie, pobieraj je z API zamiast przepisywać — inaczej Twoja strona pokaże nieaktualną kwotę. - Bez wersjonowania, bez SLA. Nowe pola dopisujemy tak, żeby nie psuć istniejących integracji; o usunięciu pola uprzedzimy na tej stronie. Nie gwarantujemy dostępności — przy krytycznej integracji napisz na kontakt@swiadectwo-energetyczne24.pl.
Cennik świadectw
Aktualne ceny brutto dla każdego typu nieruchomości, opcje dodatkowe, czas realizacji i lista tego, co jest w cenie. To ten sam cennik, który widzi klient w kalkulatorze ceny.
| Pole | Typ | Opis |
|---|---|---|
| currency | string | Waluta cen — zawsze PLN. |
| pricesIncludeVat | boolean | Zawsze true: wszystkie kwoty są brutto, z VAT. |
| propertyTypes[] | array | slug, label, basePricePln, description, orderUrl — jeden wpis na typ nieruchomości. |
| addons[] | array | key, label, pricePln, description — dopłaty doliczane do ceny bazowej. |
| leadTime | object | Czas realizacji. |
| included[] | string[] | Co zawiera cena (m.in. wpis do rejestru CHEB). |
| contact | object | E-mail i telefon do obsługi klienta. |
| links | object | Adresy powiązanych narzędzi i pozostałych endpointów. |
curl -s https://swiadectwo-energetyczne24.pl/api/pricing | jq '.propertyTypes[] | {slug, basePricePln}'{
"service": "Świadectwo charakterystyki energetycznej — 100% online",
"provider": "Świadectwo Energetyczne 24",
"currency": "PLN",
"pricesIncludeVat": true,
"serviceArea": "Polska (zamówienie online, bez dopłat za lokalizację)",
"propertyTypes": [
{
"slug": "mieszkanie",
"label": "Mieszkanie",
"basePricePln": 119,
"description": "Świadectwo dla mieszkania w bloku, kamienicy lub apartamentowcu.",
"orderUrl": "https://swiadectwo-energetyczne24.pl/zamow/mieszkanie"
}
],
"addons": [
{
"key": "paperVersion",
"label": "Wersja papierowa (wydruk)",
"pricePln": 59,
"description": "Wydruk świadectwa ze stroną z kodem QR do oryginału, wysłany na wskazany adres. Oryginałem zawsze jest plik PDF z podpisem elektronicznym."
}
],
"leadTime": {
"standard": "do 24 h"
},
"included": [
"Sporządzenie przez audytora z uprawnieniami",
"Podpis elektroniczny"
],
"contact": {
"email": "kontakt@swiadectwo-energetyczne24.pl",
"phone": "+48796437057"
},
"links": {
"documentation": "https://swiadectwo-energetyczne24.pl/api",
"priceCalculator": "https://swiadectwo-energetyczne24.pl/kalkulator-ceny",
"needCheck": "https://swiadectwo-energetyczne24.pl/czy-potrzebuje-swiadectwa",
"faqApi": "https://swiadectwo-energetyczne24.pl/api/faq",
"citiesApi": "https://swiadectwo-energetyczne24.pl/api/cities",
"mcpServer": "https://swiadectwo-energetyczne24.pl/api/mcp"
}
}Pytania i odpowiedzi
Wszystkie pytania i odpowiedzi z serwisu w jednym miejscu: FAQ ze strony głównej plus FAQ dołączone do artykułów poradnika. Każdy wpis ma sourceUrl — adres strony, z której pochodzi odpowiedź, więc asystent AI może podać źródło.
| Pole | Typ | Opis |
|---|---|---|
| language | string | Język treści — pl-PL. |
| count | number | Liczba pozycji w tablicy faq. |
| faq[].question | string | Pytanie w brzmieniu ze strony. |
| faq[].answer | string | Pełna odpowiedź, zwykły tekst bez HTML. |
| faq[].sourceUrl | string | Adres strony, na której odpowiedź jest opublikowana. |
curl -s https://swiadectwo-energetyczne24.pl/api/faq | jq '.faq[0]'{
"provider": "Świadectwo Energetyczne 24",
"language": "pl-PL",
"count": 138,
"faq": [
{
"question": "Czym jest świadectwo energetyczne?",
"answer": "To dokument, który określa zapotrzebowanie na energię niezbędną do użytkowania budynku. Pozwala ocenić efektywność energetyczną nieruchomości i jest wymagany prawnie przy sprzedaży lub wynajmie.",
"sourceUrl": "https://swiadectwo-energetyczne24.pl/#faq"
}
],
"links": {
"documentation": "https://swiadectwo-energetyczne24.pl/api",
"guide": "https://swiadectwo-energetyczne24.pl/poradnik",
"pricingApi": "https://swiadectwo-energetyczne24.pl/api/pricing"
}
}Obsługiwane miasta
Lista miast z dedykowaną stroną usługi wraz z województwem. Obsługujemy całą Polskę w jednakowych cenach — te strony są punktem wejścia dla klientów szukających lokalnie, a nie osobnym cennikiem.
| Pole | Typ | Opis |
|---|---|---|
| count | number | Liczba miast na liście. |
| cities[].name | string | Nazwa miasta. |
| cities[].slug | string | Identyfikator w adresie strony miasta. |
| cities[].voivodeship | string | Województwo (pełna nazwa po polsku). |
| cities[].url | string | Adres strony usługi w tym mieście. |
curl -s https://swiadectwo-energetyczne24.pl/api/cities | jq '.cities[] | select(.voivodeship == "mazowieckie")'{
"provider": "Świadectwo Energetyczne 24",
"serviceArea": "Polska (zamówienie online, jednolite ceny bez dopłat za lokalizację)",
"count": 60,
"cities": [
{
"name": "Warszawa",
"slug": "warszawa",
"voivodeship": "mazowieckie",
"url": "https://swiadectwo-energetyczne24.pl/swiadectwo-energetyczne/warszawa"
},
{
"name": "Kraków",
"slug": "krakow",
"voivodeship": "małopolskie",
"url": "https://swiadectwo-energetyczne24.pl/swiadectwo-energetyczne/krakow"
}
],
"links": {
"documentation": "https://swiadectwo-energetyczne24.pl/api",
"allCities": "https://swiadectwo-energetyczne24.pl/swiadectwo-energetyczne",
"pricingApi": "https://swiadectwo-energetyczne24.pl/api/pricing"
}
}Serwer MCP — zamówienie przez asystenta AI
https://swiadectwo-energetyczne24.pl/api/mcpSerwer Model Context Protocol (transport Streamable HTTP, bezstanowy). Pozwala agentowi AI zebrać dane nieruchomości, sprawdzić czego brakuje, wycenić zamówienie, dołączyć dokumenty i wygenerować link do płatności. Endpoint jest publiczny, limit 60 żądań na 10 minut z jednego adresu IP.
access_token zwracany tylko raz — samo order_id nie otwiera niczego.Podłączenie klienta MCP
W Claude Desktop, Claude Code lub innym kliencie MCP wystarczy adres serwera — bez tokenu:
{
"mcpServers": {
"swiadectwo-energetyczne24": {
"type": "http",
"url": "https://swiadectwo-energetyczne24.pl/api/mcp"
}
}
}Klient, który uruchamia serwery MCP lokalnie jako proces (transport stdio), korzysta z paczki npm swiadectwo-energetyczne24-mcp. Paczka przekazuje każde wywołanie pod ten sam adres, więc narzędzia, pytania i ceny są identyczne:
claude mcp add swiadectwo-energetyczne24 -- npx -y swiadectwo-energetyczne24-mcp{
"mcpServers": {
"swiadectwo-energetyczne24": {
"command": "npx",
"args": [
"-y",
"swiadectwo-energetyczne24-mcp"
]
}
}
}Kod paczki jest otwarty na licencji MIT: repozytorium na GitHubie. W oficjalnym rejestrze MCP serwer figuruje pod nazwą pl.swiadectwo-energetyczne24/zamowienia.
Narzędzia serwera
| Narzędzie | Co robi |
|---|---|
| get_certificate_options | Typy nieruchomości z cenami bazowymi, opcja dodatkowa (wersja papierowa) i dozwolone wartości pól. |
| get_certificate_information | Informacje o usłudze: czas realizacji, co jest w cenie, podstawa prawna. |
| create_certificate_order | Zakłada zamówienie i zwraca access_token — jedyny raz, więc agent musi go zapamiętać. |
| get_certificate_order_requirements | Mówi, czego jeszcze brakuje, żeby zamówienie dało się opłacić. |
| update_certificate_order | Uzupełnia dane zamówienia (adres, dane techniczne, kontakt). |
| get_certificate_order | Zwraca zebrane dane zamówienia (wymaga order_id + access_token). |
| get_certificate_order_status | Status zamówienia — także po opłaceniu, gdy dane są już zamrożone. |
| calculate_certificate_price | Liczy cenę po stronie serwera; agent nigdy nie wylicza jej sam. |
| get_payment_link | Bezpieczny link, pod którym klient akceptuje zgody i płaci. |
| create_document_upload_url | Adres presigned PUT do wgrania dokumentu prosto do naszego magazynu. |
| add_property_document | Podpina wgrany plik (rzut, zdjęcie elewacji) pod zamówienie. |
Pełny przebieg rozmowy z agentem opisaliśmy w poradniku: jak zamówić świadectwo energetyczne przez AI.
API partnerów — zamówienie z systemu CRM lub portalu
https://swiadectwo-energetyczne24.pl/api/v1/ordersDla dostawców oprogramowania biur nieruchomości, portali ogłoszeniowych i biur z własnym systemem. Agent klika „Zamów świadectwo” przy ofercie, Twój system wysyła nam dane oferty, a my zwracamy formularz już nimi wypełniony. Po wydaniu świadectwa pobierasz wskaźniki do ogłoszenia, numer świadectwa i plik PDF.
- Zamówienie.
POST /api/v1/ordersz danymi oferty. Wystarczy typ nieruchomości — każde kolejne pole to mniej wpisywania dla klienta. - Formularz. Otwierasz
form_urlw nowej karcie alboembed_urlw ramce. Klient albo agent uzupełnia braki, dodaje zdjęcie budynku, akceptuje zgody i płaci online. - Wynik.
GET /api/v1/orders/{id}zwraca status. Gdy świadectwo jest wysłane, polecertificatema komplet wskaźników i gotowy akapit do opisu ogłoszenia.
Authorization: Bearer <klucz>. API nie wysyła nagłówków CORS, więc nie wywołasz go z przeglądarki — i dobrze, bo klucz nie może trafić do kodu strony. Klucz wydajemy po podpisaniu umowy partnerskiej: napisz na kontakt@swiadectwo-energetyczne24.pl.Endpointy
| Endpoint | Co robi |
|---|---|
| GET /api/v1/me | Test połączenia: partner, zakresy klucza i ceny, po których sprzedajesz. |
| GET /api/v1/fields/{typ} | Pola formularza dla typu nieruchomości: ścieżka, typ i dozwolone wartości. Do jednorazowego zmapowania pól oferty. |
| POST /api/v1/orders | Nowe zamówienie z danymi oferty. Zwraca link do formularza i listę braków. |
| GET /api/v1/orders | Lista zamówień; filtr external_id znajduje zamówienia dla oferty. |
| GET /api/v1/orders/{id} | Status, a po wysłaniu świadectwa wskaźniki, numer i akapit do ogłoszenia. |
| PATCH /api/v1/orders/{id} | Uzupełnienie danych, dopóki klient nie złożył zamówienia. |
| GET /api/v1/orders/{id}/certificate | Plik PDF świadectwa. Wymaga klucza z zakresem pdf. |
Specyfikacja OpenAPI 3.1 API partnerów: https://swiadectwo-energetyczne24.pl/api/v1/openapi.json
Zamówienie z danymi oferty
curl -X POST https://swiadectwo-energetyczne24.pl/api/v1/orders \
-H "Authorization: Bearer $SE24_KLUCZ" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: oferta-OF-1001" \
-d '{"property_type":"mieszkanie","external_id":"OF-1001","agent_code":"AK12","customer":{"first_name":"Jan","last_name":"Kowalski","email":"jan@example.com"},"address":{"street":"Leśna","building_number":"12","apartment_number":"4","postal_code":"55-050","city":"Sobótka"},"property":{"area_m2":54.2,"year_built":2008},"fields":[{"path":"heating.heating","value":"Sieć miejska"}]}'{
"id": "6f0c2d5e-8a3b-4c1d-9e7f-2b4a6c8d0e1f",
"external_id": "OF-1001",
"agent_code": "AK12",
"property_type": "mieszkanie",
"status": "requires_information",
"payment_status": "not_started",
"certificate_status": "not_started",
"missing_fields": [
"details.floor",
"heating.hotWater",
"windows.panes"
],
"price": {
"currency": "PLN",
"net": 104.88,
"vat": 24.12,
"gross": 129,
"vat_rate": 0.23,
"items": []
},
"form_url": "https://swiadectwo-energetyczne24.pl/p/biuro-kowalski/szkic/…",
"embed_url": "https://swiadectwo-energetyczne24.pl/p/biuro-kowalski/szkic/…?embed=1",
"created_at": "2026-10-01T09:15:00.000Z",
"updated_at": "2026-10-01T09:15:00.000Z",
"expires_at": "2026-10-31T09:15:00.000Z"
}| Pole | Typ | Opis |
|---|---|---|
| property_type | string | Wymagane. mieszkanie, dom, lokal-uzytkowy albo budynek-nieogrzewany. |
| external_id | string | Identyfikator oferty w Twoim systemie — po nim znajdziesz zamówienie. |
| agent_code | string | Kod agenta biura. Zamówienie i prowizja trafią do tego agenta. |
| customer | object | Imię, nazwisko, e-mail i telefon klienta. Klient może je poprawić w formularzu. |
| address | object | Ulica, numer budynku i lokalu, kod pocztowy, miejscowość. |
| property | object | Powierzchnia (area_m2), wysokość pomieszczeń (height_m), rok budowy (year_built). |
| fields | array | Pozostałe pola formularza jako pary path i value. Listę pól podaje GET /api/v1/fields/{typ}. |
| options | object | paper_version — wersja papierowa doliczana do ceny. |
| send_invitation | boolean | Wyślij klientowi e-mail z linkiem w imieniu biura. Wymaga customer_consent: true. |
Formularz w ramce
Adres embed_url można osadzić w oknie swojego systemu. Bramka płatnicza nie otwiera się w ramce, więc po złożeniu zamówienia formularz pokazuje przycisk przejścia do płatności w pełnym oknie.
<iframe src="{embed_url}" style="width:100%;height:900px;border:0" title="Zamówienie świadectwa energetycznego"></iframe>Wynik po wydaniu świadectwa
{
"id": "6f0c2d5e-8a3b-4c1d-9e7f-2b4a6c8d0e1f",
"external_id": "OF-1001",
"status": "completed",
"payment_status": "paid",
"certificate_status": "sent",
"certificate": {
"number": "SCHE/10388/2026/1000",
"issued_on": "2026-10-02",
"sent_at": "2026-10-02T14:05:00.000Z",
"indicators": {
"eu_kwh_m2_year": 58.4,
"ek_kwh_m2_year": 71.25,
"ep_kwh_m2_year": 85.5,
"renewable_share_percent": 0,
"co2_emission_t_m2_year": 0.01834
},
"listing_text": "Świadectwo charakterystyki energetycznej nr SCHE/10388/2026/1000: EU 58,40 kWh/(m²·rok), EK 71,25 kWh/(m²·rok), EP 85,50 kWh/(m²·rok), udział OZE 0,00%, emisja CO₂ 0,01834 t CO₂/(m²·rok).",
"pdf_url": "https://swiadectwo-energetyczne24.pl/api/v1/orders/6f0c2d5e-8a3b-4c1d-9e7f-2b4a6c8d0e1f/certificate"
}
}Pole listing_text to gotowy akapit z pięcioma wskaźnikami, które podaje się w ogłoszeniu sprzedaży lub najmu, gdy świadectwo już istnieje. API nie wysyła powiadomień — stan sprawdzasz zapytaniem, np. raz na godzinę dla zamówień w toku. Limit: 120 żądań na minutę na klucz i 300 nowych zamówień na godzinę.
Błąd ma zawsze postać { "error": { "code", "message", "field" } }. Kody: UNAUTHORIZED (401), FORBIDDEN (403), NOT_FOUND (404), CONFLICT i NOT_READY (409), EXPIRED (410), VALIDATION_ERROR (422), RATE_LIMITED (429).
Czego API nie udostępnia
- Wyszukiwarki rejestru CHEB. Endpointy pod
/api/swiadectwa/obsługują wyłącznie naszą wyszukiwarkę świadectw — przyjmują żądania tylko z tej domeny i mają limit zapytań. Surowe dane rejestru są jednak publiczne: Ministerstwo Rozwoju i Technologii udostępnia je na dane.gov.pl na licencji CC0. - Danych zamówień i klientów. Zamówienie widać wyłącznie z jego
access_token(MCP), z linku do statusu, który klient dostaje mailem, albo kluczem partnera, który je założył przez API partnerów. Partner nie widzi zamówień złożonych inną drogą. - Wyliczeń świadectwa. Silnik obliczeniowy nie jest wystawiony na zewnątrz. Orientacyjne wskaźniki policzysz w bezpłatnym kalkulatorze EP, EK i EU.
Najczęstsze pytania o API
Czy API jest darmowe i czy potrzebuję klucza?
Tak, jest darmowe i nie wymaga klucza ani rejestracji. Endpointy /api/pricing, /api/faq i /api/cities odpowiadają na zwykłe żądanie GET, mają otwarty CORS (Access-Control-Allow-Origin: *), więc można je wołać także prosto z przeglądarki.
Czy mogę użyć tych danych na swojej stronie?
Tak. Możesz pokazywać nasz cennik, FAQ i listę miast we własnym serwisie, aplikacji lub asystencie AI, pod warunkiem podania źródła z linkiem do swiadectwo-energetyczne24.pl. Nie zezwalamy na podawanie tych danych jako własnej oferty ani na sugerowanie, że świadectwo wystawia ktoś inny niż nasi audytorzy.
Jakie są limity zapytań?
Nie ma twardego limitu na endpointach tylko-do-odczytu — odpowiedzi są cache'owane na CDN (24 godziny), więc odpytywanie częściej niż raz na godzinę i tak nie zwróci nowszych danych. Serwer MCP ma limit 60 żądań na 10 minut z jednego adresu IP.
Czy przez API mogę złożyć zamówienie?
Tak, na dwa sposoby. System CRM albo portal zamawia przez API partnerów (/api/v1) z kluczem: przekazuje dane oferty, dostaje link do wypełnionego formularza, a po wydaniu świadectwa pobiera wskaźniki do ogłoszenia. Asystent AI zamawia przez serwer MCP (/api/mcp). W obu przypadkach zgody i płatność potwierdza klient na naszej stronie — danych karty ani zgód RODO nie przyjmujemy przez API.
Czy udostępniacie API do wyszukiwarki świadectw z rejestru CHEB?
Nie. Wyszukiwarka rejestru działa wyłącznie na naszej stronie — jej endpointy są ograniczone do żądań z tej domeny i objęte limitem zapytań. Surowe dane rejestru są jednak dostępne publicznie na dane.gov.pl, bo to dane otwarte Ministerstwa Rozwoju i Technologii na licencji CC0.
Czy API ma wersjonowanie i SLA?
Nie ma wersjonowania w adresie — pola dopisujemy w sposób nierozwalający istniejących integracji, a o usunięciu któregokolwiek pola uprzedzimy na tej stronie. Serwis nie daje gwarancji dostępności (SLA); przy krytycznej integracji napisz do nas, a ustalimy warunki.
Budujesz coś na naszym API?
Napisz, czego potrzebujesz — brakującego pola, wyższego limitu albo współpracy partnerskiej (biura nieruchomości, notariusze, portale ogłoszeniowe). Odpowiadamy zwykle tego samego dnia.
