real estate
Justimmo API Integration into WordPress
WordPress integration with the Justimmo real estate API, active listings, sold references, advanced search filtering, custom single listing templates, and SEO-optimised archive pages. Admin-configurable API credentials with full German language support.
The brief
A client needed the Justimmo real estate platform integrated into their existing WordPress site. Justimmo is an Austrian property management system used widely by estate agencies in the DACH region — it holds the authoritative listing data, and the website needed to pull and display that data rather than manage it separately.
The requirements were straightforward: show active listings with filterable search, display sold listings as references, and give administrators a way to configure the API credentials from within wp-admin without touching code. The API and its SDK operate in German, so the integration needed to handle that correctly throughout.
What was built
A WordPress integration that pulls live property data from the Justimmo API and displays it through custom templates — with archive pages, advanced filtering, detailed single listing views, and an admin settings page for API configuration.
-
Active listings archive
- Dedicated archive page listing all active properties pulled from the Justimmo API
- Advanced filter for searching by property type, location, price range, and size
- Results update without a full page reload
- Pagination across filtered result sets
-
Sold listings (references)
- Separate archive page for sold properties displayed as reference projects
- Clearly distinguished from active listings in both URL structure and template
-
Single listing template
- Custom template rendering full property details from the API response
- Property photos, description, key facts, floor plans, and contact section
- Consistent with the site's existing design system
-
Admin settings page
- Dedicated wp-admin page for entering and saving Justimmo API credentials
- Credentials stored in WordPress options — no hardcoded values in the codebase
- Non-technical administrators can update credentials without developer access
-
SEO and indexing
- Each listing rendered as a proper WordPress page with a unique URL
- Meta titles and descriptions populated from listing data
- Structured markup applied to listing detail pages for search engine visibility
- Archive pages included in sitemap
Technical notes
-
SDK integration
The integration uses the official Justimmo PHP SDK from GitHub rather than raw API calls. The SDK handles authentication, request construction, and response mapping. It was loaded via Composer and initialised on demand using credentials retrieved from WordPress options, keeping API calls out of the theme layer entirely.
-
Custom rewrite rules for listing URLs
Justimmo listings are not WordPress posts, so there are no native post URLs. Custom rewrite rules were registered to intercept listing URLs, resolve the property ID from the URL segment, fetch the listing from the API, and pass it to the single listing template. This gives each property a clean, indexable URL without storing listing data in the WordPress database.
-
Filter implementation
The advanced search filter passes parameters directly to the Justimmo SDK query methods, which translate them into the correct API request. Filter state is maintained in the URL query string so filtered views are bookmarkable and shareable, and search engines can crawl filtered archive pages where relevant.
-
German language handling
The Justimmo API returns field names, property type labels, and status values in German. A translation map handles conversion to the site's display language where needed, and German strings that are displayed directly to users are passed through WordPress's translation layer so they can be overridden without touching the integration code.
Screenshots
More projects
Let's talk
Tell me about your project. I reply to all messages within 24 hours.
What happens next
let's make something together
Message sent
Thanks . I'll reply to within 24 hours.