# MyHome.ie Search API Documentation

Scrappa's `GET /api/myhome-ie/search` returns MyHome.ie property listings in Ireland as structured JSON: homes for sale (`listing_type=sale`, the default), homes to rent (`rent`), house share (`share`) and new developments (`new_homes`).

## What you get

One request returns one page of listings plus the platform's own match count in `total`. Each listing has `id`, `address`, `display_address`, `property_type`, `price` (text plus parsed `amount`, `max_amount`, `currency`, `frequency` and `qualifier`), `bedrooms`, `bathrooms`, `size_m2`, `ber_rating`, `latitude`, `longitude`, `created_at`, `refreshed_at`, `photos`, `agency`, `negotiator` and the public `url`. Take the `id` to the listing endpoint for the full record.

## Filters are honoured

Filter names the platform would silently ignore are rejected with a `422` instead of returning an unfiltered list. Every returned listing is checked against `min_price`, `max_price`, `min_beds`, `max_beds`, `min_baths`, `min_size`, `max_size` and `property_type_ids`. If the platform did not apply a filter, the request fails with a non-billable `503` and returns no listings. `applied_filters` echoes what was applied.

## Locations

`location` is `ireland` (default) or a region slug such as `dublin` or `cork`, from the locations endpoint. Unknown slugs are rejected. `locality_ids` are comma separated ids of that region's localities. A locality id from another region is rejected.

## Pagination

`page` starts at 1 and `page_size` is 10, 20 (default) or 50. The `page` in the answer is always the page that was served. A page past the last result returns an empty `listings` list, `has_more=false` and `total=null`. It never returns another page's listings.

## Sorting

`sort` is `refreshed` (default), `newest`, `oldest`, `price_asc` or `price_desc`. The platform leaves out listings with no public price when sorting by price, so `total` is lower for price sorts. Inside a page, any listing without a parsed amount is placed last.

## Filter support by listing type

`sale` supports every filter. `rent` and `share` support everything except `property_type_ids`. `new_homes` supports `location`, `locality_ids`, `min_price`, `max_price` and `max_beds`. A new-home card is a development, so its `price` can be a range (`qualifier=range`) and `bedrooms_text` lists all bedroom counts. Rent prices are compared as listed, so a weekly rent is compared by its weekly amount.

## What this API does not cover

This is read-only public listing data. Commercial property, land, auctions, map search and BER filtering are not available yet and are rejected.

- **Documentation:** [https://scrappa.co/docs/myhome-ie-api/myhome_ie_search](https://scrappa.co/docs/myhome-ie-api/myhome_ie_search)
- **API group:** MyHome.ie API
- **Endpoint:** `GET https://scrappa.co/api/myhome-ie/search`

## Authentication

Send your Scrappa API key in the `X-API-KEY` request header. Paid endpoints also support accountless x402 payments when called without an API key.

## Parameters

| Parameter | Type | Required | Description |
| --- | --- | --- | --- |
| `listing_type` | string | No | sale (default), rent, share or new_homes. |
| `location` | string | No | ireland (default) or a region slug from the locations endpoint. |
| `locality_ids` | string | No | Comma separated locality ids of the region in location. Needs a region slug. |
| `property_type_ids` | string | No | Sale only. Comma separated ids: 36 apartment, 37 terraced, 38 semi-detached, 39 detached, 40 bungalow, 41 holiday home, 42 country house, 43 farm, 44 site, 45 end of terrace, 46 cottage, 47 duplex, 48 townhouse, 49 penthouse, 50 studio, 51 dormer, 52 live-work unit, 53 period house, 54 mews, 9 investment property. |
| `min_price` | integer | No | Minimum price in euro, whole number. |
| `max_price` | integer | No | Maximum price in euro, whole number. |
| `min_beds` | integer | No | Minimum bedrooms. Not available for new_homes. |
| `max_beds` | integer | No | Maximum bedrooms. |
| `min_baths` | integer | No | Minimum bathrooms. Not available for new_homes. |
| `min_size` | integer | No | Minimum floor area in square metres. Not available for new_homes. |
| `max_size` | integer | No | Maximum floor area in square metres. Not available for new_homes. |
| `sort` | string | No | refreshed (default), newest, oldest, price_asc or price_desc. |
| `page` | integer | No | Result page, 1-based. |
| `page_size` | integer | No | Listings per page: 10, 20 (default) or 50. |

## Example request

```bash
#!/bin/bash

curl -X GET \
    -H "x-api-key: YOUR_API_KEY_HERE" \
    "https://scrappa.co/api/myhome-ie/search?listing_type=sale&location=dublin&min_beds=2&max_beds=2&min_price=300000&max_price=400000"
```

## Example response

```json
{
    "success": true,
    "total": 471,
    "page": 1,
    "page_size": 20,
    "total_pages": 24,
    "has_more": true,
    "applied_filters": {
        "listing_type": "sale",
        "location": "dublin",
        "sort": "refreshed",
        "min_price": 300000,
        "max_price": 400000,
        "min_beds": 2,
        "max_beds": 2
    },
    "listings": [
        {
            "id": 5030645,
            "address": "28 Erris Square, Waterville",
            "display_address": "28 Erris Square, Waterville, Blanchardstown, Dublin 15",
            "listing_type": "ResidentialForSale",
            "status": "ForSale",
            "property_type": "Townhouse",
            "development_name": null,
            "price": {
                "text": "\u20ac350,000",
                "amount": 350000,
                "max_amount": null,
                "currency": "EUR",
                "frequency": null,
                "qualifier": null
            },
            "bedrooms": 2,
            "bedrooms_text": "2 beds",
            "bathrooms": 3,
            "size_m2": 98.9,
            "size_text_m2": null,
            "ber_rating": "B",
            "latitude": 53.391945,
            "longitude": -6.367388,
            "is_new": false,
            "sale_agreed": false,
            "created_at": "2026-09-25T15:37:22+00:00",
            "refreshed_at": "2026-10-25T10:31:03+00:00",
            "main_photo": "https://photos-a.propertyimages.ie/media/5/4/6/5030645/bdfef536-7d94-4dd8-af21-2e879366abc9_l.jpg",
            "photos": [
                "https://photos-a.propertyimages.ie/media/5/4/6/5030645/bdfef536-7d94-4dd8-af21-2e879366abc9_l.jpg"
            ],
            "photo_count": 17,
            "has_video": false,
            "open_viewings": [],
            "agency": {
                "id": 10281,
                "name": "Get Property Estate Agents",
                "address": "Clifton House, Lower Fitzwilliam St, Dublin 2",
                "phone": null,
                "email": "property@get-let.ie",
                "logo": "https://photos-a.propertyimages.ie/groups/1/8/2/10281/logo.jpg",
                "url": "https://www.myhome.ie/estate-agents/get-property-10281"
            },
            "negotiator": {
                "id": 482231,
                "name": "Michelle Hoare",
                "job_title": "Senior Negotiator",
                "image": "https://photos-a.propertyimages.ie/users/1/3/2/482231/profile.jpg"
            },
            "url": "https://www.myhome.ie/residential/brochure/28-erris-square-waterville-blanchardstown-dublin-15/5030645"
        }
    ],
    "meta": {
        "billable": true,
        "endpoint_family": "search",
        "attempts": 1
    }
}
```

## Errors

| Status | Error | Description |
| --- | --- | --- |
| 422 | Unsupported Filter or Value | A filter name this search cannot apply for the chosen listing_type, an unusable value, an unknown region slug or a locality id from another region (`invalid_filter`). Unsupported filters are rejected because the platform would silently ignore them. Non-billable. |
| 422 | Validation Error | A query parameter failed validation. Non-billable. |
| 503 | Upstream Unavailable | MyHome.ie could not be reached after retries, answered with a body this API cannot read, or did not apply the requested filters (public error code `upstream_unavailable`). Retryable and never billed. Clients are never rate limited. |

## More Scrappa resources

- [API documentation](https://scrappa.co/docs)
- [Full LLM-readable API reference](https://scrappa.co/llms-full.txt)
- [OpenAPI specification](https://scrappa.co/docs/api.json)
- [Pricing](https://scrappa.co/pricing)
