# Daft.ie Property Scraper (`mrdoe/daft-ie-scraper`) Actor

Scrape Daft.ie property listings across Ireland with prices, bedrooms, bathrooms, BER ratings, seller details, locations, images, features, and more.

- **URL**: https://apify.com/mrdoe/daft-ie-scraper.md
- **Developed by:** [MrDoe](https://apify.com/mrdoe) (community)
- **Categories:** Lead generation, Real estate
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $1.00 / 1,000 results

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.

Learn more: https://docs.apify.com/platform/actors/running/actors-in-store#pay-per-event

## What's an Apify Actor?

Actors are web data automations that power AI and operations. They run on the Apify platform to scrape websites, process data, connect APIs, and automate workflows.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.
Actors are written with capital "A".

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.
The best way to integrate Actors is as follows.

- **AI agents and MCP clients** — the [Apify MCP server](https://docs.apify.com/integrations/mcp.md) at `https://mcp.apify.com` (remote, streamable HTTP, OAuth on first use).
- **Agentic workflows and local Actor development** — [Agent Skills](https://apify.com/.well-known/agent-skills/index.json) with the [Apify CLI](https://docs.apify.com/cli/docs.md): `npm install -g apify-cli`, then `apify login`.
- **JavaScript/TypeScript projects** — the official [JS/TS client](https://docs.apify.com/api/client/js/docs.md): `npm install apify-client`.
- **Python projects** — the official [Python client](https://docs.apify.com/api/client/python/docs.md): `pip install apify-client`.
- **Any other language** — the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).

# README

````markdown
## Daft.ie Property Scraper - Scrape Irish Property Listings at Scale

### What does Daft.ie Property Scraper do?

**Daft.ie Property Scraper** extracts structured property listings from [Daft.ie](https://www.daft.ie), one of Ireland's leading property marketplaces.

Scrape **property prices, bedrooms, bathrooms, property types, BER ratings, seller/agent information, addresses, coordinates, features, images, listing views, development units, nearby schools, publication dates, and more** from Daft.ie property search pages.

Use the extracted data for **property market research, rental monitoring, price tracking, real-estate lead generation, investment analysis, BI dashboards, CRM systems, property maps, and data pipelines**.

### Why scrape Daft.ie?

- Monitor Irish property prices and rental prices
- Track properties across Dublin, Cork, Galway, Limerick, Waterford, and other Irish areas
- Build property market datasets for research and analysis
- Monitor newly published and recently updated listings
- Track asking prices and rental prices over time
- Analyze property types, bedrooms, bathrooms, and BER ratings
- Collect seller and agent information
- Build real-estate lead databases
- Create property search and map applications
- Analyze listing popularity using listing view counts
- Collect property images and media information
- Analyze private rental developments and available unit types
- Enrich property datasets with nearby school information
- Export structured data to JSON, CSV, Excel, or integrate through the Apify API

### How to use Daft.ie Property Scraper

1. [Sign up for a free Apify account](https://apify.com/sign-up).
2. Open this Actor and click **Try for free** or **Start**.
3. Enter one or more **Daft.ie property search URLs**.
4. Choose the maximum number of properties to scrape.
5. Configure Apify Proxy if required.
6. Click **Start**.
7. Export your results as JSON, CSV, Excel, XML, or access them through the Apify API.

#### Example Start URLs

```text
https://www.daft.ie/property-for-rent/dublin-city
````

```text
https://www.daft.ie/property-for-sale/dublin-city
```

```text
https://www.daft.ie/property-for-rent/cork-city
```

```text
https://www.daft.ie/property-for-sale/cork-city
```

You can provide multiple start URLs to scrape different locations in a single run.

### Input

| Field                | Type    | Required | Default                 | Description                                                      |
| -------------------- | ------- | -------- | ----------------------- | ---------------------------------------------------------------- |
| `startUrls`          | array   | Yes      | —                       | One or more Daft.ie property sale or rental search result URLs   |
| `maxItems`           | integer | No       | `5`                     | Maximum number of properties to scrape. Set to `0` for unlimited |
| `proxyConfiguration` | object  | No       | Apify Residential Proxy | Proxy configuration used for requests                            |

#### Example input

```json
{
    "startUrls": [
        {
            "url": "https://www.daft.ie/property-for-rent/dublin-city"
        }
    ],
    "maxItems": 50,
    "proxyConfiguration": {
        "useApifyProxy": true,
        "apifyProxyGroups": [
            "RESIDENTIAL"
        ]
    }
}
```

### Output

Each dataset item contains structured information about a Daft.ie property listing.

#### Example output

```json
{
    "id": 6306467,
    "title": "The Carriageworks,, Dublin 1",
    "seoTitle": null,
    "daftShortcode": null,

    "category": "Rent",
    "propertyType": "Private Rental Sector",
    "sections": [],
    "saleType": [
        "To Let"
    ],

    "numBedrooms": "1 & 2 bed",
    "numBathrooms": null,
    "berRating": "A2",
    "dateOfConstruction": null,

    "price": "From €2,550 per month",
    "priceValue": 2550,
    "priceCurrency": "EUR",

    "address": "The Carriageworks, Dublin 1",
    "locality": "Dublin 1",
    "region": "Dublin",
    "areaName": "dublin-city",

    "latitude": 53.35818,
    "longitude": -6.2547,

    "sellerId": null,
    "seller": "The Carriageworks",
    "sellerPhone": null,
    "sellerType": null,
    "sellerBranch": null,
    "sellerAddress": null,
    "sellerProfileImage": null,
    "sellerLogo": null,

    "features": [],

    "imageUrls": [],
    "imageCount": 0,
    "hasVideo": false,
    "hasVirtualTour": false,
    "hasBrochure": false,

    "totalUnitTypes": 2,
    "units": [],

    "nearbySchools": [],

    "listingViews": null,

    "publishDate": "2026-07-22T12:50:02.000Z",
    "firstPublishDate": null,
    "lastUpdateDate": null,

    "featuredLevel": null,
    "featuredLevelFull": null,

    "canonicalUrl": null,
    "url": "https://www.daft.ie/for-rent/the-carriageworks-dublin-1/6306467"
}
```

### Dataset fields

#### Property information

| Field                | Description                           |
| -------------------- | ------------------------------------- |
| `id`                 | Unique Daft.ie listing ID             |
| `title`              | Property or development title         |
| `seoTitle`           | SEO title when available              |
| `daftShortcode`      | Daft listing shortcode                |
| `category`           | Listing category such as Rent or Sale |
| `propertyType`       | Property type                         |
| `sections`           | Daft property sections                |
| `saleType`           | Sale/rental listing type              |
| `numBedrooms`        | Number or range of bedrooms           |
| `numBathrooms`       | Number or range of bathrooms          |
| `berRating`          | Building Energy Rating                |
| `dateOfConstruction` | Construction date when available      |

#### Pricing

| Field           | Description                        |
| --------------- | ---------------------------------- |
| `price`         | Original formatted asking price    |
| `priceValue`    | Numeric price value when available |
| `priceCurrency` | Price currency, normally EUR       |

#### Location

| Field       | Description           |
| ----------- | --------------------- |
| `address`   | Full property address |
| `locality`  | Locality or town      |
| `region`    | County/region         |
| `areaName`  | Daft area identifier  |
| `latitude`  | Property latitude     |
| `longitude` | Property longitude    |

#### Seller / agent

| Field                | Description                                  |
| -------------------- | -------------------------------------------- |
| `sellerId`           | Daft seller/agent ID                         |
| `seller`             | Seller, landlord, development, or agent name |
| `sellerPhone`        | Seller/agent phone when available            |
| `sellerType`         | Seller type                                  |
| `sellerBranch`       | Agency branch                                |
| `sellerAddress`      | Seller/agency address                        |
| `sellerProfileImage` | Seller profile image                         |
| `sellerLogo`         | Seller/agency logo                           |

#### Property features

| Field      | Description                                                 |
| ---------- | ----------------------------------------------------------- |
| `features` | Property features and amenities listed in the advertisement |

#### Media

| Field            | Description                            |
| ---------------- | -------------------------------------- |
| `imageUrls`      | Property image URLs                    |
| `imageCount`     | Number of available images             |
| `hasVideo`       | Whether the listing has video          |
| `hasVirtualTour` | Whether the listing has a virtual tour |
| `hasBrochure`    | Whether the listing has a brochure     |

#### Development / rental information

| Field            | Description                                                                              |
| ---------------- | ---------------------------------------------------------------------------------------- |
| `totalUnitTypes` | Number of available unit types in a development                                          |
| `units`          | Individual development units with price, bedrooms, bathrooms, property type, ID, and URL |

#### Nearby information

| Field           | Description                              |
| --------------- | ---------------------------------------- |
| `nearbySchools` | Nearby school information when available |
| `listingViews`  | Listing view count when available        |

#### Listing metadata

| Field               | Description                          |
| ------------------- | ------------------------------------ |
| `publishDate`       | Listing publication date             |
| `firstPublishDate`  | Original publication date            |
| `lastUpdateDate`    | Most recent listing update           |
| `featuredLevel`     | Listing promotion level              |
| `featuredLevelFull` | Full featured listing classification |
| `canonicalUrl`      | Canonical Daft.ie listing URL        |
| `url`               | Direct property listing URL          |

### Use cases

#### Property market research

Collect thousands of Irish property listings and analyze:

- Asking prices
- Rental prices
- Property types
- Bedroom and bathroom counts
- BER ratings
- Geographic price differences
- Listing activity

#### Rental monitoring

Track rental properties across Irish cities and counties to identify:

- New rental listings
- Price changes
- Rental availability
- Popular areas
- Development-level rental inventory

#### Real estate lead generation

Build structured datasets containing seller and agency information for:

- Real estate CRM systems
- Property lead databases
- Agency research
- Market intelligence

#### Property investment analysis

Combine:

- Price
- Location
- Property type
- Bedrooms
- BER rating
- Listing views
- Publication dates

to analyze Irish property markets and investment opportunities.

#### Property discovery applications

Use the structured output to build:

- Property search engines
- Property maps
- Rental dashboards
- Market analytics platforms
- Price monitoring tools

### Pagination

The Actor automatically follows Daft.ie pagination and continues collecting listings until:

- `maxItems` is reached, or
- no additional pages are available.

Set:

```json
{
    "maxItems": 0
}
```

to scrape all available listings from the supplied search URLs.

### Multiple start URLs

Multiple locations can be scraped in one run:

```json
{
    "startUrls": [
        {
            "url": "https://www.daft.ie/property-for-rent/dublin-city"
        },
        {
            "url": "https://www.daft.ie/property-for-rent/cork-city"
        },
        {
            "url": "https://www.daft.ie/property-for-rent/galway-city"
        }
    ],
    "maxItems": 100
}
```

### Pricing

This Actor uses **pay-per-result pricing**.

The default configuration is designed to keep small test runs inexpensive. Larger datasets can be collected by increasing `maxItems`.

Actual costs may vary depending on the Actor's current Apify pricing configuration and proxy usage.

### Proxy configuration

Daft.ie uses anti-bot protection, so proxy usage is recommended for reliable scraping.

The Actor supports Apify Proxy configuration through the `proxyConfiguration` input.

Residential proxies are used by default in the provided configuration.

### Data freshness

Daft.ie listings can change over time. For price monitoring and historical analysis, schedule the Actor to run periodically using Apify schedules.

For example:

- Daily property monitoring
- Weekly rental market snapshots
- Monthly property market datasets

Comparing scheduled datasets allows you to identify new listings, removed listings, price changes, and listing updates.

### Frequently Asked Questions

#### Can I scrape both sale and rental properties?

Yes. Provide a Daft.ie sale or rental search URL through `startUrls`.

#### Can I scrape properties from multiple Irish counties?

Yes. Add multiple Daft.ie search URLs to `startUrls`.

#### Does the Actor extract property images?

Yes. When image information is available, the Actor extracts image URLs and the total image count.

#### Does it extract seller or agent information?

Yes. Seller/agent information is extracted when available, including seller name and additional seller metadata.

#### Does it extract property features?

Yes. Listing features are returned in the `features` field when available.

#### Does it extract nearby schools?

The Actor extracts available nearby school information when it is included in the listing data.

#### Does it extract rental development units?

Yes. For supported Private Rental Sector listings, the Actor can extract available unit types and their associated property information.

#### Does it scrape listing views?

When available in the listing data, the Actor returns the value through `listingViews`.

#### Is this Actor affiliated with Daft.ie?

No. This Actor is an independent data extraction tool and is not affiliated with, endorsed by, or sponsored by Daft.ie or Distilled Media.

#### Is scraping permitted?

This Actor accesses publicly available listing information. Users are responsible for complying with Daft.ie’s Terms of Service, applicable laws, and data protection requirements when using the extracted data.

### Support

Found a bug or have a feature request?

Use the **Issues** tab on this Actor's Apify Store page.

# Actor input Schema

## `startUrls` (type: `array`):

Daft.ie search result pages (sale or rent) to start scraping from, e.g. https://www.daft.ie/property-for-rent/dublin-city

## `maxItems` (type: `integer`):

Maximum number of properties to scrape per start URL. Set to 0 for unlimited.

## `proxyConfiguration` (type: `object`):

Proxy settings for the run. Daft.ie uses Cloudflare bot-management, so a Residential proxy is used by default for reliable results.

## Actor input object example

```json
{
  "startUrls": [
    {
      "url": "https://www.daft.ie/property-for-rent/dublin-city"
    }
  ],
  "maxItems": 5,
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ]
  }
}
```

# Actor output Schema

## `overview` (type: `string`):

No description

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "startUrls": [
        {
            "url": "https://www.daft.ie/property-for-rent/dublin-city"
        }
    ],
    "maxItems": 5,
    "proxyConfiguration": {
        "useApifyProxy": true,
        "apifyProxyGroups": [
            "RESIDENTIAL"
        ]
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("mrdoe/daft-ie-scraper").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = {
    "startUrls": [{ "url": "https://www.daft.ie/property-for-rent/dublin-city" }],
    "maxItems": 5,
    "proxyConfiguration": {
        "useApifyProxy": True,
        "apifyProxyGroups": ["RESIDENTIAL"],
    },
}

# Run the Actor and wait for it to finish
run = client.actor("mrdoe/daft-ie-scraper").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print(f"💾 Check your data here: https://console.apify.com/storage/datasets/{run.default_dataset_id}")
for item in client.dataset(run.default_dataset_id).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "startUrls": [
    {
      "url": "https://www.daft.ie/property-for-rent/dublin-city"
    }
  ],
  "maxItems": 5,
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ]
  }
}' |
apify call mrdoe/daft-ie-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,mrdoe/daft-ie-scraper"
        }
    }
}

```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/T4PEmx2BgfkGkdvuE/builds/4JJxnsUJTytKNkqap/openapi.json
