🤖 Halo, tu API!
Jeśli prowadzisz serwis z ogłoszeniami, CRM nieruchomości lub własne narzędzie dla agentów — możesz dodawać oferty działek do tuziemia.pl w pełni automatycznie. Bez klikania, bez kopiowania, bez zbędnych kroków. Jedno żądanie HTTP i ogłoszenie pojawia się w serwisie natychmiast 🚀.
API jest całkowicie otwarte i bezpłatne 🎉 — nie wymaga rejestracji, logowania ani klucza dostępu. Wystarczy znać numer ewidencyjny działki i cenę. Resztą zajmuje się tuziemia.pl — automatycznie wyznacza powierzchnię, region, sprawdza plany zagospodarowania i powiadamia zainteresowanych kupujących 📬.
Nagłówek żądania: Content-Type: application/json
📋 Parametry żądania
Body żądania to obiekt JSON. Wymagane są tylko parcelIds i price oraz przynajmniej jeden kontakt do sprzedającego. Reszta jest opcjonalna — im więcej podasz, tym bardziej kompletne będzie ogłoszenie 👌.
| Pole | Typ | Wymagane | Opis |
|---|---|---|---|
parcelIds | string[] | tak | Lista numerów ewidencyjnych działek. Min. 1, maks. 50. Np. "142503_5.0004.AR_1.590/1" |
price | number | tak | Cena w PLN. Liczba całkowita większa od zera, maks. 1 000 000 000. |
sellerName | string | nie | Imię i nazwisko lub nazwa firmy sprzedającego. Min. 2, maks. 100 znaków. |
sellerPhone | string | częściowo* | Telefon kontaktowy. Akceptowany format: +48 600 123 456 |
sellerEmail | string | częściowo* | Adres email sprzedającego. Musi być poprawnym adresem email. |
description | string | nie | Opis oferty widoczny w ogłoszeniu. Maksymalnie 5000 znaków. |
* Wymagany jest co najmniej jeden z: sellerPhone lub sellerEmail.
💡 Przykłady
Poniżej znajdziesz gotowe przykłady w kilku popularnych środowiskach. Skopiuj, podmień dane działki i gotowe ✅.
🖥️ cURL
Najprostszy sposób na szybki test — wystarczy terminal.
curl -X POST https://tuziemia.pl/api/oferta \
-H "Content-Type: application/json" \
-d '{
"parcelIds": ["142503_5.0004.AR_1.590/1"],
"price": 250000,
"sellerName": "Jan Kowalski",
"sellerPhone": "+48 600 123 456",
"sellerEmail": "jan@example.com",
"description": "Dzialka budowlana 1200m2, media na granicy."
}'🌐 JavaScript (fetch)
Idealne do integracji w aplikacji webowej lub skrypcie Node.js.
const response = await fetch('https://tuziemia.pl/api/oferta', {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({
parcelIds: ['142503_5.0004.AR_1.590/1'],
price: 250000,
sellerName: 'Jan Kowalski',
sellerPhone: '+48 600 123 456',
sellerEmail: 'jan@example.com',
description: 'Dzialka budowlana 1200m2, media na granicy.',
}),
});
const oferta = await response.json();
console.log('Dodano oferte:', oferta.offerId);🐍 Python
Świetne do skryptów wsadowych i automatycznego importu z baz danych.
import requests
res = requests.post(
'https://tuziemia.pl/api/oferta',
json={
'parcelIds': ['142503_5.0004.AR_1.590/1'],
'price': 250000,
'sellerName': 'Jan Kowalski',
'sellerPhone': '+48 600 123 456',
'sellerEmail': 'jan@example.com',
'description': 'Dzialka budowlana 1200m2, media na granicy.',
}
)
print(res.json())⚙️ n8n — HTTP Request
Dodaj węzeł HTTP Request, ustaw metodę POST, URL https://tuziemia.pl/api/oferta, Body Content Type: JSON. Pola podłącz z poprzedniego węzła przez wyrażenia — n8n automatycznie podstawi dane z każdego rekordu 🔄.
{
"parcelIds": ["={{ $json.parcelId }}"],
"price": ={{ $json.price }},
"sellerName": "={{ $json.name }}",
"sellerPhone": "={{ $json.phone }}",
"sellerEmail": "={{ $json.email }}",
"description": "={{ $json.description }}"
}📨 Odpowiedzi serwera
Każda odpowiedź zawiera kod HTTP oraz obiekt JSON. Warto obsłużyć oba przypadki w swojej integracji 🛡️.
✅ Sukces — serwer zwraca status 201 Created:
{
"offerId": "664f1a2b3c4d5e6f7a8b9c0d",
"url": "/oferta/142503_5.0004.AR_1.590/1",
"area": 1234,
"region": "mazowieckie",
"price": 250000,
"parcelIds": ["142503_5.0004.AR_1.590/1"],
"expiresAt": "2025-07-13T12:00:00.000Z"
}⚠️ Błąd walidacji — serwer zwraca status 422 Unprocessable Entity:
{
"statusCode": 422,
"message": "Bledy walidacji",
"data": {
"price": ["Cena musi byc wieksza od 0"],
"sellerEmail": ["Wymagany jest co najmniej email lub telefon"]
}
}🙋 Pytania?
Potrzebujesz pomocy z integracją, masz pytanie techniczne lub chcesz zgłosić problem? Napisz na kontakt@tuziemia.pl — odpiszemy tak szybko jak to możliwe 💬.