PropertyPal APIpropertypal.com ↗
Access PropertyPal listings via API: search rentals, sales, commercial properties, house price trends, agent details, and market news for Northern Ireland.
What is the PropertyPal API?
The PropertyPal API covers Northern Ireland's property market across 9 endpoints, returning structured data for residential sales and rentals, commercial listings, new home developments, estate agent profiles, and market statistics. The get_ni_house_prices endpoint alone surfaces quarterly price series broken down by bedroom count with year-over-year growth rates, while search_properties_for_sale and search_properties_for_rent deliver paginated, filterable listing results including coordinates, images, and agent contact details.
curl -X GET 'https://api.parse.bot/scraper/58744562-ed79-498a-b263-f9d9e3fe45b6/search_properties_for_rent?page=1&location=south-belfast' \ -H 'X-API-Key: $PARSE_API_KEY'
Typed, relational, agent-ready
A generated client with real types, enums, and the links between objects — the structure a flat JSON response can't carry. Autocompletes in your editor and reads cleanly to coding agents.
- Fully typed · autocompletes
- Objects link to objects
- Typed errors & pagination
Typed Python client. Set up the SDK in your uv project, then pull this API’s typed client:
uv add parse-sdk uv run parse init uv run parse add --marketplace propertypal-com-api
uv run parse add --marketplace pulls a pinned snapshot of this canonical API — it won’t change underneath you. To customize it, subscribe and swap to your own copy.
"""
PropertyPal API - Search properties in Northern Ireland
Get your API key from: https://parse.bot/settings
"""
from parse_apis.propertypal_api import PropertyPal, Location, PropertyNotFound
pp = PropertyPal()
# Search for rental properties in Belfast using the Location enum
for prop in pp.properties.search_for_rent(location=Location.BELFAST, limit=5):
print(prop.display_address, prop.num_bedrooms, prop.price.currency_symbol)
# Search properties for sale in Northern Ireland
for prop in pp.properties.search_for_sale(location=Location.NORTHERN_IRELAND, max_price=300000, limit=3):
print(prop.display_address, prop.path_id, prop.town)
# Browse new home developments
for dev in pp.developments.list(limit=3):
print(dev.name, dev.display_address, dev.total_available_units)
# Check market trends
for trend in pp.markettrends.list(limit=3):
print(trend.label, trend.level, trend.filter_type)
# Get agent details with typed error handling
try:
agent = pp.agents.search(agent_slug="simon-brien-residential-east-belfast", limit=1).first()
if agent:
print(agent.organisation, agent.account_number, agent.total_properties)
except PropertyNotFound as exc:
print(f"Agent not found: {exc}")
# Read news articles
for article in pp.articles.list(limit=3):
print(article.title, article.slug, article.published_at)
print("exercised: properties.search_for_rent / search_for_sale / developments.list / markettrends.list / agents.search / articles.list")
Search for residential properties to rent in Northern Ireland. Returns paginated results with property listings including address, price, bedrooms, agent info, and images. Each page contains up to 12 results. When filters (bedrooms, price) are applied together with the base location, the API may return a redirect URL indicating the canonical filtered search path instead of results.
| Param | Type | Description |
|---|---|---|
| page | integer | Page number for pagination. |
| bedrooms | integer | Minimum number of bedrooms to filter by. |
| location | string | Location slug for the search area. |
| max_price | integer | Maximum monthly rental price in GBP. |
| min_price | integer | Minimum monthly rental price in GBP. |
{
"type": "object",
"fields": {
"page": "current page number (0-based)",
"nextUrl": "URL path for the next page of results",
"results": "array of property listing objects with id, pathId, displayAddress, numBedrooms, price, images, agents, coordinates",
"redirect": "present only when filters trigger a redirect; contains the canonical filtered URL path",
"totalPages": "total number of pages available",
"totalResults": "total number of matching properties"
},
"sample": {
"data": {
"page": 0,
"nextUrl": "/property-to-rent/belfast/page-2",
"results": [
{
"id": 1073821,
"town": "Belfast",
"price": {
"price": 1300,
"priceSuffix": "per month",
"currencySymbol": "£"
},
"pathId": "1075021",
"numBedrooms": 2,
"displayAddress": "19-06 Obel, 62 Donegall Quay, Belfast, BT1 3NJ"
}
],
"totalPages": 68,
"totalResults": 810
},
"status": "success"
}
}About the PropertyPal API
Property Search and Listing Detail
search_properties_for_sale and search_properties_for_rent both accept location (a URL slug), bedrooms, min_price, max_price, and page parameters. Each returns up to 12 results per page, with totalResults and totalPages for pagination control and a nextUrl field for sequential traversal. The results array contains objects with id, pathId, displayAddress, numBedrooms, price, images, agents, and — for rental results — coordinates. When bedroom or price filters trigger a canonical redirect on the source site, the response includes a redirect field with the resolved URL path rather than listing data; callers should handle this case. To fetch a full listing, pass the slug and property_id from a search result's pathId to get_property_details, which returns the HTML description, keyInfo array, numBedrooms, numBathrooms, history (price and status changes), EPC data, and full agents contact objects.
Commercial, New Homes, and Open Viewings
search_commercial_properties supports location and page filtering and returns the same paginated envelope (page, totalPages, totalResults, nextUrl) with commercial listing objects covering land, offices, retail, and investment property types. search_new_homes takes no parameters and returns two arrays: superfeatures (premium developments with price ranges and images) and featured (standard developments with totalAvailableUnits and showHomeOpeningTimes). get_open_viewings accepts location and page but typically responds with a redirect field pointing to the canonical sorted URL; results are empty when the redirect is present, so downstream code must follow the redirect path to retrieve actual viewings.
Market Data, Agents, and News
get_ni_house_prices requires no inputs and returns a data array of price trend series — each with a label, level, and points array of quarterly values — plus averagePriceGrowth entries by bedroom count and a form object listing available wards, areas, and districts for geographic drill-down. get_agent_details takes an agent_slug (e.g. simon-brien-residential-east-belfast) and returns matching results objects containing organisation, displayAddress, totalProperties, and url per branch. get_news_and_analysis returns paginated articles with title, slug, publishedAt, blurb, and poster image objects, alongside a trending array and subCategories classifications.
The PropertyPal API is a managed, monitored endpoint for propertypal.com — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when propertypal.com changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.
This isn't an official propertypal.com API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.
Will this API break when the source site changes?+
Is this an official API from the source site?+
Can I fix or extend this API myself if I need a new endpoint or field?+
What happens if I call an endpoint that has an issue?+
- Build a property alert tool that polls
search_properties_for_rentwithmin_price,max_price, andlocationfilters to notify users of new listings. - Visualise Northern Ireland house price trends by pulling quarterly series from
get_ni_house_pricesand segmenting by bedroom count using theaveragePriceGrowthfield. - Create a new-build comparison dashboard using
search_new_homesto displaytotalAvailableUnitsandshowHomeOpeningTimesacross active developments. - Aggregate estate agent branch data from
get_agent_detailsto comparetotalPropertiesacross agencies in a specific area. - Enrich property detail pages by fetching
history(price and status changes) andkeyInfoarrays fromget_property_details. - Surface market commentary in a property portal by pulling
articlesandtrendingcontent fromget_news_and_analysis. - Index commercial property availability by location using
search_commercial_propertieswith thelocationslug parameter.
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 100 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 100 req/min |
One credit = one API call regardless of which marketplace API you call. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.
Does PropertyPal have an official developer API?+
How does pagination work across the search endpoints?+
search_properties_for_sale, search_properties_for_rent, search_commercial_properties) return up to 12 results per page. The response includes a 0-based page value, totalPages, totalResults, and a nextUrl field for the following page. When price or bedroom filters trigger a canonical redirect, the response contains a redirect field instead of listing data, and results will be empty — your code should detect and handle this before paginating.What geographic granularity is available for house price data?+
get_ni_house_prices returns a form object that lists available wards, areas, and districts for Northern Ireland. The quarterly price series in data can be filtered by these geographic levels. The endpoint covers Northern Ireland only; Republic of Ireland price data is not currently included. You can fork this API on Parse and revise it to add an endpoint targeting Republic of Ireland market statistics.Does `get_property_details` return Energy Performance Certificate (EPC) information?+
keyInfo array which can include EPC rating data where present in the listing, along with numBedrooms, numBathrooms, description, history, and agent contact details. Not all listings carry a complete EPC entry — availability depends on what the listing itself contains.Is there an endpoint for searching rental properties in the Republic of Ireland or filtering by property type (e.g. apartment vs. house)?+
bedrooms, min_price, max_price, and location slug; property type (apartment, house, etc.) is not an exposed filter parameter. You can fork this API on Parse and revise it to add property-type filtering or extend coverage to other regions.