{
  "openapi": "3.0.1",
  "info": {
    "title": "Eurostat Scraper - EU Statistics & Indicators",
    "description": "Pull Eurostat datasets - GDP, inflation (HICP), unemployment, trade, population and thousands more - as clean one-row-per-observation data with country, period, unit and value. Filter by geo, time and any dimension. Official EU JSON-stat API - no key, no browser.",
    "version": "0.1",
    "x-build-id": "hx8TktZnygLgpKkPo"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/scrapesage~eurostat-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-scrapesage-eurostat-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/scrapesage~eurostat-scraper/runs": {
      "post": {
        "operationId": "runs-sync-scrapesage-eurostat-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/scrapesage~eurostat-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-scrapesage-eurostat-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": {
          "datasets": {
            "title": "Dataset codes",
            "type": "array",
            "description": "Eurostat dataset codes, one per line - e.g. <code>nama_10_gdp</code> (GDP), <code>prc_hicp_manr</code> (inflation), <code>une_rt_m</code> (unemployment), <code>demo_pjan</code> (population). Browse codes at ec.europa.eu/eurostat/web/main/data/database. <b>Leave empty and the run returns a small free sample.</b>",
            "items": {
              "type": "string"
            }
          },
          "geo": {
            "title": "Countries (geo)",
            "type": "array",
            "description": "Country/geo codes to keep, one per line - e.g. <code>DE</code>, <code>FR</code>, <code>EU27_2020</code>, <code>EA20</code>. Leave empty for all geos in the dataset.",
            "items": {
              "type": "string"
            }
          },
          "time": {
            "title": "Periods (time)",
            "type": "array",
            "description": "Time periods to keep, one per line - e.g. <code>2023</code>, <code>2024-Q1</code>, <code>2024-06</code>. Leave empty for all periods.",
            "items": {
              "type": "string"
            }
          },
          "extraFilters": {
            "title": "Extra dimension filters",
            "type": "string",
            "description": "Filter other dimensions as <code>dim=value</code>, comma-separated - e.g. <code>na_item=B1GQ,unit=CP_MEUR</code>. Each dataset has its own dimensions (unit, na_item, sex, age...); see the dataset page. Leave empty for all."
          },
          "includeEmptyValues": {
            "title": "Include empty values",
            "type": "boolean",
            "description": "Keep observations Eurostat reports as empty/null. Off by default so you only pay for real data points.",
            "default": false
          },
          "datasetsFromFile": {
            "title": "Import dataset codes from a file",
            "type": "string",
            "description": "Bulk-load dataset codes. Either <b>paste the whole list</b> (one per line), or give <b>a single link</b> to a public <code>.txt</code>/<code>.csv</code>, a Google Sheet/Drive link, or an Apify key-value-store record. A file that cannot be read says so and charges nothing."
          },
          "maxItems": {
            "title": "Max observations",
            "minimum": 1,
            "type": "integer",
            "description": "Overall cap on saved observations. Eurostat datasets can be huge - filter by geo/time and keep this sane. You are only charged for observations actually saved.",
            "default": 50000
          },
          "outputFields": {
            "title": "Output fields (leave empty for all)",
            "type": "array",
            "description": "Pick the fields you want and every record is trimmed to exactly those. Note: dimension fields vary by dataset (geo, time, unit, na_item, sex, age...) and are always included when present; this list covers the stable ones.",
            "items": {
              "type": "string",
              "enum": [
                "type",
                "dataset",
                "datasetLabel",
                "geo",
                "geoLabel",
                "time",
                "timeLabel",
                "value",
                "flag",
                "unit",
                "unitLabel",
                "na_item",
                "na_itemLabel",
                "updated",
                "scrapedAt"
              ],
              "enumTitles": [
                "Record type (type)",
                "Dataset code (dataset)",
                "Dataset label (datasetLabel)",
                "Geo code (geo)",
                "Geo label (geoLabel)",
                "Time (time)",
                "Time label (timeLabel)",
                "Value (value)",
                "Flag (flag)",
                "Unit code (unit)",
                "Unit label (unitLabel)",
                "Indicator code (na_item)",
                "Indicator label (na_itemLabel)",
                "Updated (updated)",
                "Scraped at (scrapedAt)"
              ]
            }
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}