{
  "openapi": "3.0.1",
  "info": {
    "title": "Ireland Open Data Scraper - data.gov.ie Portal",
    "description": "Scrape all 22,666 datasets from Ireland's open data portal data.gov.ie: full DCAT metadata, distributions, 174 publishers, EU high-value flags, openness scores and DataStore column schemas.",
    "version": "0.1",
    "x-build-id": "D7w4AVmbpwN6qbVIl"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/parseforge~data-gov-ie-ireland-open-data-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-parseforge-data-gov-ie-ireland-open-data-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/parseforge~data-gov-ie-ireland-open-data-scraper/runs": {
      "post": {
        "operationId": "runs-sync-parseforge-data-gov-ie-ireland-open-data-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/parseforge~data-gov-ie-ireland-open-data-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-parseforge-data-gov-ie-ireland-open-data-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": {
          "searchTerms": {
            "title": "Search Terms",
            "type": "array",
            "description": "Free-text search across the portal. Several terms are combined with OR. Fielded Solr syntax also works, for example title:housing or notes:census. Leave empty to sweep the whole portal.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "startUrls": {
            "title": "Dataset URLs",
            "type": "array",
            "description": "Individual data.gov.ie dataset pages, for example https://data.gov.ie/dataset/planning-permission. When any URL or slug is given the portal sweep is skipped and only those datasets are returned.",
            "default": [],
            "items": {
              "type": "object",
              "required": [
                "url"
              ],
              "properties": {
                "url": {
                  "type": "string",
                  "title": "URL of a web page",
                  "format": "uri"
                }
              }
            }
          },
          "datasetSlugs": {
            "title": "Dataset Slugs Or IDs",
            "type": "array",
            "description": "CKAN dataset names (planning-permission) or UUIDs. Same effect as Dataset URLs, without typing the host.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "maxItems": {
            "title": "Max Items",
            "minimum": 1,
            "maximum": 1000000,
            "type": "integer",
            "description": "Free users: limited to 10 items (preview). Paid users: up to 1,000,000. Counts every row the run writes, datasets and directory rows together."
          },
          "themes": {
            "title": "Themes",
            "type": "array",
            "description": "Portal themes. Measured live: Government 11,725 datasets, Environment 4,228, Health 2,551, Justice 765.",
            "items": {
              "type": "string",
              "enum": [
                "Agriculture",
                "Arts",
                "Economy",
                "Education and Sport",
                "Energy",
                "Environment",
                "Government",
                "Health",
                "Housing",
                "Justice",
                "Science",
                "Society",
                "Towns",
                "Transport"
              ],
              "enumTitles": [
                "Agriculture",
                "Arts",
                "Economy",
                "Education and Sport",
                "Energy",
                "Environment",
                "Government",
                "Health",
                "Housing",
                "Justice",
                "Science",
                "Society",
                "Towns",
                "Transport"
              ]
            },
            "default": []
          },
          "organizations": {
            "title": "Publishers",
            "type": "array",
            "description": "CKAN organization names, for example central-statistics-office (12,849 datasets), meteireann (2,051), tusla (1,492), marine-institute (1,064). Tick Publisher directory below to pull the full list of 174.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "collections": {
            "title": "Harvest Collections",
            "type": "array",
            "description": "The upstream feed a dataset was harvested from. cso_jsonrpc holds 13,780 datasets, isde 1,914, tusla-ckan 1,492, dublinked-ckan 924.",
            "items": {
              "type": "string",
              "enum": [
                "cso_jsonrpc",
                "isde",
                "tusla-ckan",
                "dublinked-ckan",
                "housing-ckan",
                "msp",
                "roscommon-arcgis",
                "limerick-ckan",
                "galwaycoco-arcgis",
                "kildarecoco-ckan",
                "galway-city-arcgis",
                "adhoc",
                "fisheries-arcgis",
                "ncse-ckan",
                "dafm-ckan",
                "central-bank-ckan",
                "arcgis",
                "corkcity-ckan",
                "teagasc-ckan",
                "monaghan-arcgis",
                "ordnance-survey-ireland-covid",
                "westmeath-coco-arcgis",
                "land-development-agency",
                "clarecoco-arcgis",
                "cro-ckan",
                "nbco-ckan",
                "nta"
              ]
            },
            "default": []
          },
          "formats": {
            "title": "File Formats",
            "type": "array",
            "description": "Keep only datasets that publish at least one file in these formats. The index is case sensitive and carries 132 spellings, so each choice expands to every spelling the portal actually uses.",
            "items": {
              "type": "string",
              "enum": [
                "CSV",
                "XLSX",
                "JSON",
                "JSON-STAT",
                "PX",
                "XML",
                "HTML",
                "PDF",
                "TXT",
                "ZIP",
                "GEOJSON",
                "KML",
                "SHP",
                "GPKG",
                "GDB",
                "WMS",
                "WFS",
                "WMTS",
                "ESRI-REST",
                "GML",
                "ODS",
                "DOC",
                "NETCDF",
                "GEOTIFF",
                "RDF",
                "API",
                "DB-TABLE",
                "ATOM",
                "HTTP-DOWNLOAD"
              ]
            },
            "default": []
          },
          "licences": {
            "title": "Licences",
            "type": "array",
            "description": "The 12 licence ids in the portal. CC-BY-4.0 covers 21,925 datasets, CC-BY-SA-4.0 429, cc-by-nc-nd 56, cc-zero 28.",
            "items": {
              "type": "string",
              "enum": [
                "CC-BY-4.0",
                "CC-BY-SA-4.0",
                "cc-by-nc",
                "cc-by-nc-nd",
                "cc-by-nc-sa",
                "cc-zero",
                "me-custom",
                "notspecified",
                "oir-psi",
                "psi",
                "other-nc",
                "other-open"
              ],
              "enumTitles": [
                "Creative Commons Attribution 4.0",
                "Creative Commons Attribution Share-Alike 4.0",
                "CC Attribution NonCommercial",
                "CC Attribution NonCommercial NoDerivs",
                "CC Attribution NonCommercial Share-Alike",
                "Creative Commons CCZero",
                "Met Eireann custom licence",
                "Licence Not Specified",
                "Irish PSI Licence (Oireachtas)",
                "Irish Public Sector Information Licence",
                "Other (non-commercial)",
                "Other (open)"
              ]
            },
            "default": []
          },
          "updateFrequencies": {
            "title": "Update Frequencies",
            "type": "array",
            "description": "How often the publisher says the dataset changes. Monthly 2,600 datasets, Quarterly 882, Annual 513, Daily 40.",
            "items": {
              "type": "string",
              "enum": [
                "Annual",
                "Biennial",
                "Bimonthly",
                "Continuous",
                "Continuously updated",
                "Daily",
                "Irregular",
                "Monthly",
                "Never",
                "Other",
                "Quarterly",
                "Semiannual",
                "Three times a year",
                "Unknown",
                "Weekly"
              ]
            },
            "default": []
          },
          "hvdCategories": {
            "title": "EU High-Value Categories",
            "type": "array",
            "description": "The six categories of Implementing Regulation (EU) 2023/138. Geospatial covers 4,322 datasets, Companies 113, Mobility 78, Meteorological 46.",
            "items": {
              "type": "string",
              "enum": [
                "http://data.europa.eu/bna/c_e1da4e07",
                "http://data.europa.eu/bna/c_dd313021",
                "http://data.europa.eu/bna/c_164e0bf5",
                "http://data.europa.eu/bna/c_a9135398",
                "http://data.europa.eu/bna/c_ac64a52d",
                "http://data.europa.eu/bna/c_b79e35eb"
              ],
              "enumTitles": [
                "Geospatial",
                "Earth observation and environment",
                "Meteorological",
                "Statistics",
                "Companies and company ownership",
                "Mobility"
              ]
            },
            "default": []
          },
          "tags": {
            "title": "Tags",
            "type": "array",
            "description": "Keyword tags exactly as the portal stores them, for example census-2022 or crime-and-justice. Tick Tag directory below to pull the full vocabulary of 22,742.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "groups": {
            "title": "Groups",
            "type": "array",
            "description": "CKAN groups. The portal currently runs exactly one, haleandhearty, with 431 datasets.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "language": {
            "title": "Language",
            "enum": [
              "any",
              "en",
              "ga"
            ],
            "type": "string",
            "description": "Metadata language. 22,665 datasets are tagged en and 1 is tagged ga.",
            "default": "any"
          },
          "minResources": {
            "title": "Minimum Files Per Dataset",
            "minimum": 0,
            "maximum": 500,
            "type": "integer",
            "description": "Keep only datasets with at least this many downloadable files. 1,354 datasets carry 5 or more."
          },
          "modifiedFrom": {
            "title": "Modified From (YYYY-MM-DD)",
            "type": "string",
            "description": "Keep datasets whose metadata changed on or after this date. 5,912 datasets changed since 2026-01-01."
          },
          "modifiedTo": {
            "title": "Modified To (YYYY-MM-DD)",
            "type": "string",
            "description": "Keep datasets whose metadata changed on or before this date."
          },
          "createdFrom": {
            "title": "Created From (YYYY-MM-DD)",
            "type": "string",
            "description": "Keep datasets first registered on the portal on or after this date. 4,655 arrived since 2025-01-01."
          },
          "createdTo": {
            "title": "Created To (YYYY-MM-DD)",
            "type": "string",
            "description": "Keep datasets first registered on the portal on or before this date."
          },
          "issuedFrom": {
            "title": "Issued From (YYYY-MM-DD)",
            "type": "string",
            "description": "Keep datasets the publisher issued on or after this date. 1,151 were issued since 2024-01-01."
          },
          "issuedTo": {
            "title": "Issued To (YYYY-MM-DD)",
            "type": "string",
            "description": "Keep datasets the publisher issued on or before this date."
          },
          "onlyHighValue": {
            "title": "Only EU High-Value Datasets",
            "type": "boolean",
            "description": "Keep only the 383 datasets flagged as high value under Implementing Regulation (EU) 2023/138.",
            "default": false
          },
          "onlyGeospatial": {
            "title": "Only Geospatial Datasets",
            "type": "boolean",
            "description": "Keep only the 4,009 datasets that carry a spatial geometry. The portal's bounding-box search is broken upstream, so this flag is the geographic filter it offers.",
            "default": false
          },
          "onlyOpenLicence": {
            "title": "Only Open Licences",
            "type": "boolean",
            "description": "Keep only the 21,628 datasets the portal marks as openly licensed.",
            "default": false
          },
          "onlyWithRights": {
            "title": "Only With A Rights Statement",
            "type": "boolean",
            "description": "Keep only the 4,378 datasets that carry a full rights or reuse statement beyond the licence id.",
            "default": false
          },
          "onlyConforming": {
            "title": "Only Declaring A Standard",
            "type": "boolean",
            "description": "Keep only the 1,960 datasets that declare a standard they conform to, such as INSPIRE or DCAT.",
            "default": false
          },
          "customFilterQuery": {
            "title": "Custom Solr Filter",
            "type": "string",
            "description": "Raw Solr fq clause ANDed with everything above, for example num_tags:[10 TO *]. Use it for fields this schema does not expose."
          },
          "sortBy": {
            "title": "Sort By",
            "enum": [
              "metadata_modified desc",
              "metadata_modified asc",
              "metadata_created desc",
              "metadata_created asc",
              "issued desc",
              "issued asc",
              "title_string asc",
              "title_string desc",
              "name asc",
              "num_resources desc",
              "openness_score desc",
              "openness_score asc",
              "score desc"
            ],
            "type": "string",
            "description": "Result order. Only these values are honoured; the portal silently falls back to relevance for anything else.",
            "default": "metadata_modified desc"
          },
          "includeResources": {
            "title": "Add A Row Per File",
            "type": "boolean",
            "description": "Write one extra row for every downloadable file, with its format, size, checksum and direct URL. Datasets average 3.4 files each.",
            "default": false
          },
          "includeOrganizations": {
            "title": "Add The Publisher Directory",
            "type": "boolean",
            "description": "Write one row for each of the 174 publishers, with acronym, description, dataset count and follower count.",
            "default": false
          },
          "includeThemes": {
            "title": "Add The Theme Directory",
            "type": "boolean",
            "description": "Write one row per portal theme with its live dataset count. 14 themes.",
            "default": false
          },
          "includeHvdCategories": {
            "title": "Add The EU High-Value Directory",
            "type": "boolean",
            "description": "Write one row per EU high-value category with its live dataset count. 6 categories.",
            "default": false
          },
          "includeLicences": {
            "title": "Add The Licence Directory",
            "type": "boolean",
            "description": "Write one row per licence with its live dataset count. 12 licences.",
            "default": false
          },
          "includeFrequencies": {
            "title": "Add The Update-Frequency Directory",
            "type": "boolean",
            "description": "Write one row per declared update frequency with its live dataset count. 15 values.",
            "default": false
          },
          "includeCollections": {
            "title": "Add The Harvest-Collection Directory",
            "type": "boolean",
            "description": "Write one row per harvest collection with its live dataset count. 27 collections.",
            "default": false
          },
          "includeFormats": {
            "title": "Add The Format Directory",
            "type": "boolean",
            "description": "Write one row per file-format spelling with its live dataset count. 132 spellings.",
            "default": false
          },
          "includeTags": {
            "title": "Add The Tag Directory",
            "type": "boolean",
            "description": "Write one row per keyword tag with its live dataset count. 22,742 tags, so raise Max Items before ticking this.",
            "default": false
          },
          "includeHarvestSources": {
            "title": "Add The Harvest Sources",
            "type": "boolean",
            "description": "Write one row per upstream feed the portal harvests, with its URL, harvester type, schedule and next run. 31 sources.",
            "default": false
          },
          "includeShowcases": {
            "title": "Add The Showcases",
            "type": "boolean",
            "description": "Write one row per showcase, the applications and stories the portal features on top of its data. 14 showcases.",
            "default": false
          },
          "includeDataRequests": {
            "title": "Add The Data Requests",
            "type": "boolean",
            "description": "Write one row per public data request, what a citizen or company asked a body to publish and whether it was accepted. 112 requests, 9 still open.",
            "default": false
          },
          "includeActivity": {
            "title": "Add The Change Feed",
            "type": "boolean",
            "description": "Write one row per recent dataset change on the portal, with the timestamp and the dataset it touched. Use it to monitor what moved since your last run.",
            "default": false
          },
          "includeOpennessScore": {
            "title": "Add The Openness Score",
            "type": "boolean",
            "description": "Fetch the portal's own 0 to 5 star openness rating and the reason behind it for every dataset. Costs one extra API call per dataset, so it is off by default.",
            "default": false
          },
          "includeDatastoreProbe": {
            "title": "Add DataStore Column Schemas",
            "type": "boolean",
            "description": "For files loaded into the portal's DataStore (19.4% of them), read the real column names, per-column SQL types, the true row count and a sample of rows. Nothing in the metadata carries this.",
            "default": false
          },
          "includeLinkCheck": {
            "title": "Check Whether The Files Still Download",
            "type": "boolean",
            "description": "Send a HEAD request to each file URL and report the status, final URL, content type and byte size. The portal harvests 31 external feeds and never revalidates the links.",
            "default": false
          },
          "includeOrganizationProfile": {
            "title": "Add Publisher Details To Each Dataset",
            "type": "boolean",
            "description": "Attach the publisher's acronym, description, dataset count and follower count to every dataset row. Profiles are cached, so one call per publisher, not per dataset.",
            "default": false
          },
          "maxResourcesPerDataset": {
            "title": "Files To Enrich Per Dataset",
            "minimum": 1,
            "maximum": 50,
            "type": "integer",
            "description": "How many files per dataset the link check and the DataStore probe are allowed to touch. Raising it raises both the run time and the cost.",
            "default": 5
          },
          "datastorePreviewRows": {
            "title": "Sample Rows Per DataStore Table",
            "minimum": 0,
            "maximum": 50,
            "type": "integer",
            "description": "How many real data rows to return from each DataStore table. Set 0 to get the column schema and row count with no sample data.",
            "default": 3
          }
        }
      },
      "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
                  }
                }
              },
              "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}