{
  "openapi": "3.0.1",
  "info": {
    "title": "Eurostat Sub-National Statistics — Regional GDP, Jobs, Trends",
    "description": "Eurostat statistics for the EU's NUTS 2 and NUTS 3 regions: regional GDP per capita (PPS), unemployment and population, with cross-regional comparison, convergence, region screening and economic-twin matching. Plus country GDP, inflation by category and trade.",
    "version": "1.1",
    "x-build-id": "XoIGextdBo5hbmazU"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/ryanclinton~eurostat-eu-statistics/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-ryanclinton-eurostat-eu-statistics",
        "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/ryanclinton~eurostat-eu-statistics/runs": {
      "post": {
        "operationId": "runs-sync-ryanclinton-eurostat-eu-statistics",
        "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/ryanclinton~eurostat-eu-statistics/run-sync": {
      "post": {
        "operationId": "run-sync-ryanclinton-eurostat-eu-statistics",
        "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": {
          "dataset": {
            "title": "Dataset",
            "enum": [
              "nama_10r_2gdp",
              "nama_10r_3gdp",
              "lfst_r_lfu3rt",
              "demo_r_pjangrp3",
              "nama_10_gdp",
              "une_rt_a",
              "prc_hicp_aind",
              "demo_pjan",
              "ext_lt_maineu"
            ],
            "type": "string",
            "description": "Select a Eurostat dataset. The 'Regional (NUTS)' datasets return sub-national data — GDP, unemployment and population per region — that World Bank, IMF and OECD do not expose.",
            "default": "nama_10r_2gdp"
          },
          "customDataset": {
            "title": "Custom Dataset Code",
            "type": "string",
            "description": "Override the dropdown with any Eurostat dataset code (e.g. irt_st_a, earn_mw_cur). Find codes at ec.europa.eu/eurostat/databrowser"
          },
          "country": {
            "title": "Geo / Region Code(s)",
            "type": "string",
            "description": "Country OR NUTS region code(s), comma-separated. Countries: DE, FR, IT. NUTS regions: DE21 (Oberbayern), FR10 (Île-de-France), ITC4 (Lombardy), ES30 (Madrid). Add EU27_2020 to benchmark regions against the EU average. Leave empty for all available regions.",
            "default": "DE21,FR10,ITC4,ES30,PL91,RO32,EU27_2020"
          },
          "startYear": {
            "title": "Start Year",
            "type": "string",
            "description": "Start year for data (e.g. 2015). Leave empty for earliest available.",
            "default": "2020"
          },
          "endYear": {
            "title": "End Year",
            "type": "string",
            "description": "End year for data (e.g. 2023). Leave empty for latest available."
          },
          "maxResults": {
            "title": "Max Results",
            "minimum": 1,
            "maximum": 5000,
            "type": "integer",
            "description": "Maximum number of data points to return",
            "default": 100
          },
          "coicopCategories": {
            "title": "Inflation Categories (HICP only)",
            "type": "string",
            "description": "Comma-separated COICOP codes to break inflation down by spending category. Applies only to the inflation dataset (prc_hicp_aind). E.g. CP01 (food), CP04 (housing/energy), CP07 (transport). Leave empty for the all-items index."
          },
          "dimensionFilters": {
            "title": "Dimension Filters (advanced)",
            "type": "object",
            "description": "Arbitrary Eurostat dimension filters for any dataset, as a JSON object of dimension to value array. Overrides preset/COICOP values for the same dimension. Example: {\"sex\": [\"M\", \"F\"], \"age\": [\"Y15-24\"], \"unit\": [\"PC_ACT\"]}. Find dimension codes in the run log or the Eurostat Data Browser."
          },
          "mode": {
            "title": "Mode",
            "enum": [
              "data",
              "discover",
              "convergence",
              "screener",
              "economicTwin",
              "changeReport"
            ],
            "type": "string",
            "description": "'data' fetches statistics. 'discover' searches the Eurostat catalogue by keyword. 'convergence' analyses whether poorer regions are catching up over the year range. 'screener' filters regions by the thresholds you set in Criteria.",
            "default": "data"
          },
          "criteria": {
            "title": "Screener Criteria",
            "type": "object",
            "description": "For mode = screener: a JSON object of indicator to threshold. Indicators: gdpPpsIndex, gdpGrowth, unemploymentRate, unemploymentChange, population, populationGrowth. Operators: <, >, <=, >=, =. Example: {\"unemploymentRate\":\"<5\",\"population\":\">1000000\",\"gdpGrowth\":\">10\"}. A region must match every criterion."
          },
          "search": {
            "title": "Catalogue Search (discover mode)",
            "type": "string",
            "description": "Keyword(s) to find dataset codes when Mode = discover. E.g. 'minimum wages', 'regional household income', 'tourism nights'. All words must appear in the dataset title or code."
          },
          "datasets": {
            "title": "Join Multiple Datasets",
            "type": "array",
            "description": "Two or more dataset codes to fetch and join into one wide row per region + period (e.g. regional GDP + unemployment + population side by side). Overrides the single Dataset selection when set. Leave empty for a single-dataset query.",
            "items": {
              "type": "string"
            }
          },
          "watchlistName": {
            "title": "Watchlist Name (monitoring)",
            "type": "string",
            "description": "Name a watchlist to track these figures across scheduled runs. Each run is compared against the last run of the same watchlist: observations get changeFlag / previousValue / delta, and a watchlist-summary record lists the biggest rises and falls. First run captures a baseline. Leave empty for a one-off run."
          },
          "benchmarkGeo": {
            "title": "Benchmark / Target Region",
            "type": "string",
            "description": "A country or NUTS region code. In data mode it benchmarks this region against the result set (rank, nearest neighbours, closest peers by value). In economicTwin mode it is the region whose multi-indicator twin you want. E.g. DE21."
          },
          "outputProfile": {
            "title": "Output Profile",
            "enum": [
              "full",
              "summary"
            ],
            "type": "string",
            "description": "'full' returns every observation row plus the regional-summary record. 'summary' returns ONLY the cross-regional disparity record — one object an agent or dashboard reads without paging (charged as 1 record).",
            "default": "full"
          },
          "includeRegionalSummary": {
            "title": "Include Regional Summary",
            "type": "boolean",
            "description": "Emit the cross-regional disparity record (highest/lowest region, spread ratio, dispersion, EU-average comparison) computed over the latest period. No extra API call.",
            "default": true
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}