{
  "openapi": "3.0.1",
  "info": {
    "title": "MyHome.ie Homes Scraper",
    "description": "Extract MyHome.ie home listings for sale or rent, including addresses, prices, beds, baths, property types, coordinates, photos and listing dates. The Actor reads structured data embedded in search pages and supports county searches or supplied search URLs.",
    "version": "0.1",
    "x-build-id": "0rJVZtmYbCMjG9Bpa"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/axiomworks~myhome-property-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-axiomworks-myhome-property-scraper",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/acts/axiomworks~myhome-property-scraper/runs": {
      "post": {
        "operationId": "runs-sync-axiomworks-myhome-property-scraper",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor and returns information about the initiated run in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/runsResponseSchema"
                }
              }
            }
          }
        }
      }
    },
    "/acts/axiomworks~myhome-property-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-axiomworks-myhome-property-scraper",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "inputSchema": {
        "type": "object",
        "properties": {
          "county": {
            "title": "County or area slug (galway)",
            "type": "string",
            "description": "County or area slug, e.g. 'galway' or 'dublin-city'. Default 'dublin' returns Dublin listings for mode. Ignored when startUrls is nonempty. Unknown areas return no results; try a county slug or a search URL.",
            "default": "dublin"
          },
          "mode": {
            "title": "Sale or rent (sale)",
            "enum": [
              "sale",
              "rent"
            ],
            "type": "string",
            "description": "Choose 'sale' for sale listings or 'rent' for monthly rentals. Default 'sale'. Used with county only when startUrls is empty; search URLs determine their own listing mode.",
            "default": "sale"
          },
          "startUrls": {
            "title": "MyHome.ie search URLs",
            "type": "array",
            "description": "Optional array of full MyHome.ie search URLs as objects with url, e.g. [{\"url\":\"https://www.myhome.ie/rentals/cork/property-to-rent\"}]. Replaces county and mode. URL filters are kept; pagination starts at page 1. Brochure URLs are not supported. Empty or failed searches are skipped; maxItems is shared across all URLs.",
            "items": {
              "type": "object",
              "required": [
                "url"
              ],
              "properties": {
                "url": {
                  "type": "string",
                  "title": "URL of a web page",
                  "format": "uri"
                }
              }
            }
          },
          "minPrice": {
            "title": "Minimum sale price or monthly rent",
            "type": "integer",
            "description": "Minimum numeric price in EUR, e.g. 200000 for sale or 1000 for monthly rent. Inclusive. Omit for no lower bound. Listings without a numeric price are excluded when set. Applied after URL filters; narrow filters may return no matches."
          },
          "maxPrice": {
            "title": "Maximum sale price or monthly rent",
            "type": "integer",
            "description": "Maximum numeric price in EUR, e.g. 450000 for sale or 2500 for monthly rent. Inclusive. Omit for no upper bound. Listings without a numeric price are excluded when set. Use an amount at least as high as minPrice."
          },
          "minBeds": {
            "title": "Minimum bedroom count (3)",
            "type": "integer",
            "description": "Minimum bedrooms, e.g. 3. Omit for any bedroom count. Listings with missing bedroom counts are excluded when set. Applied to listings after any search URL filters."
          },
          "propertyType": {
            "title": "Property type substring (apartment)",
            "type": "string",
            "description": "Case-insensitive text contained in propertyType, e.g. 'apartment', 'detached' or 'bungalow'. Omit or use an empty string for all types. Substring matching means 'detached' also matches 'Semi-Detached'."
          },
          "berRatings": {
            "title": "BER first letters (A, B)",
            "type": "array",
            "description": "Array of BER first letters, e.g. [\"A\",\"B\"], matching A1/A2/A3 or B1/B2/B3 as well as A or B. Case-insensitive. Use [] or omit for any rating. Supply letters rather than full grades such as A3; missing ratings are excluded when set.",
            "items": {
              "type": "string"
            }
          },
          "includePhotos": {
            "title": "Include photo array (false)",
            "type": "boolean",
            "description": "Set true to include up to 50 photo URLs in photos, e.g. true. Default false returns photos as null; mainPhoto and photoCount remain available. Images are not downloaded.",
            "default": false
          },
          "maxItems": {
            "title": "Maximum matching listings (50)",
            "minimum": 1,
            "maximum": 10000,
            "type": "integer",
            "description": "Maximum unique matching listings across all searches combined, 1-10000, default 50; e.g. 7 returns at most 7. Counts only listings passing filters. Fewer results are returned when searches end, fail, have no matches, or reach the run's spending limit.",
            "default": 50
          },
          "proxyConfiguration": {
            "title": "Proxy settings (disabled by default)",
            "type": "object",
            "description": "Proxy object, e.g. {\"useApifyProxy\":false}. Default disables proxy. To retry blocked requests through Apify Proxy, use {\"useApifyProxy\":true}. Enabled proxy sessions rotate on retries. Persistent blocks produce a skipped search and guidance in the status message.",
            "default": {
              "useApifyProxy": false
            }
          },
          "hasViewings": {
            "title": "Only listings with open viewings",
            "type": "boolean",
            "description": "Set true to return only listings whose public search data includes at least one open viewing. Default false includes all listings. Viewing times are returned in openViewings as published, without assuming they are still in the future. Narrow filters may return fewer than maxItems.",
            "default": false
          }
        }
      },
      "runsResponseSchema": {
        "type": "object",
        "properties": {
          "data": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string"
              },
              "actId": {
                "type": "string"
              },
              "userId": {
                "type": "string"
              },
              "startedAt": {
                "type": "string",
                "format": "date-time",
                "example": "2025-01-08T00:00:00.000Z"
              },
              "finishedAt": {
                "type": "string",
                "format": "date-time",
                "example": "2025-01-08T00:00:00.000Z"
              },
              "status": {
                "type": "string",
                "example": "READY"
              },
              "meta": {
                "type": "object",
                "properties": {
                  "origin": {
                    "type": "string",
                    "example": "API"
                  },
                  "userAgent": {
                    "type": "string"
                  }
                }
              },
              "stats": {
                "type": "object",
                "properties": {
                  "inputBodyLen": {
                    "type": "integer",
                    "example": 2000
                  },
                  "rebootCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "restartCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "resurrectCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "computeUnits": {
                    "type": "integer",
                    "example": 0
                  }
                }
              },
              "options": {
                "type": "object",
                "properties": {
                  "build": {
                    "type": "string",
                    "example": "latest"
                  },
                  "timeoutSecs": {
                    "type": "integer",
                    "example": 300
                  },
                  "memoryMbytes": {
                    "type": "integer",
                    "example": 1024
                  },
                  "diskMbytes": {
                    "type": "integer",
                    "example": 2048
                  }
                }
              },
              "buildId": {
                "type": "string"
              },
              "defaultKeyValueStoreId": {
                "type": "string"
              },
              "defaultDatasetId": {
                "type": "string"
              },
              "defaultRequestQueueId": {
                "type": "string"
              },
              "buildNumber": {
                "type": "string",
                "example": "1.0.0"
              },
              "containerUrl": {
                "type": "string"
              },
              "usage": {
                "type": "object",
                "properties": {
                  "ACTOR_COMPUTE_UNITS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_WRITES": {
                    "type": "integer",
                    "example": 1
                  },
                  "KEY_VALUE_STORE_LISTS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_INTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_EXTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_SERPS": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_UNBLOCKER_UNITS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              },
              "usageTotalUsd": {
                "type": "number",
                "example": 0.00005
              },
              "usageUsd": {
                "type": "object",
                "properties": {
                  "ACTOR_COMPUTE_UNITS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_WRITES": {
                    "type": "number",
                    "example": 0.00005
                  },
                  "KEY_VALUE_STORE_LISTS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_INTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_EXTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_SERPS": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_UNBLOCKER_UNITS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}