# EU Energy & Education Data API (`lentic_clockss/eu-energy-education-search`) Actor

Search 18 EU energy and education data sources in parallel — ENTSO-G gas flows, Eurostat electricity prices, energy balances, renewable energy statistics, ESCO occupations and skills taxonomy, Eurostat education statistics, and OpenAIRE research publications. Official European data.

- **URL**: https://apify.com/lentic\_clockss/eu-energy-education-search.md
- **Developed by:** [kane liu](https://apify.com/lentic_clockss) (community)
- **Categories:** Lead generation, MCP servers
- **Stats:** 1 total users, 0 monthly users, 0.0% runs succeeded, NaN bookmarks
- **User rating**: No ratings yet

## Pricing

Pay per usage

This Actor is paid per platform usage. The Actor is free to use, and you only pay for the Apify platform usage, which gets cheaper the higher subscription plan you have.

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

## What's an Apify Actor?

Actors are a software tools running on the Apify platform, for all kinds of web data extraction and automation use cases.
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.

In JavaScript/TypeScript projects, use official [JavaScript/TypeScript client](https://docs.apify.com/api/client/js.md):

```bash
npm install apify-client
```

In Python projects, use official [Python client library](https://docs.apify.com/api/client/python.md):

```bash
pip install apify-client
```

In shell scripts, use [Apify CLI](https://docs.apify.com/cli/docs.md):

````bash
# MacOS / Linux
curl -fsSL https://apify.com/install-cli.sh | bash
# Windows
irm https://apify.com/install-cli.ps1 | iex
```bash

In AI frameworks, you might use the [Apify MCP server](https://docs.apify.com/platform/integrations/mcp.md).

If your project is in a different language, use 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

## EU Energy & Education Data Search

Search **18 official European energy and education data sources** in a single API call — ENTSO-G gas transmission flows, Eurostat electricity prices, energy balances, renewable energy statistics, ESCO skills and occupations taxonomy, Eurostat education indicators, and OpenAIRE research publications. All data from official European institutions through the SIP Public Data Gateway.

### What is EU Energy & Education Data Search?

EU Energy & Education Data Search is an Apify Actor that queries official European energy infrastructure and education databases. Instead of navigating ENTSO-G transparency platform, Eurostat bulk download, ESCO portal, and OpenAIRE separately, you search them all at once.

The Actor calls the **SIP Public Data Gateway** — a unified API that normalizes responses from 18 EU data products. No browser, no scraping — just HTTPS API calls to official sources.

### Why use EU Energy & Education Data Search?

- **One search, 18 sources** — Query gas flows, electricity prices, energy balances, skills taxonomy, and education statistics simultaneously
- **Official EU data** — All sources are public databases from ENTSO-G, Eurostat, ESCO, and OpenAIRE
- **Energy market intelligence** — Household and industrial electricity prices, gas/oil/energy balances, renewable energy share across all EU member states
- **Labor market skills** — ESCO taxonomy with 3,000+ occupations and 13,000+ skills used in EU job matching systems
- **No upstream API keys** — SIP handles all upstream authentication; you only need one SIP key

#### Use cases

| Who | What |
|-----|------|
| **Energy analysts** | Compare electricity prices across EU countries, track renewable energy adoption |
| **Gas traders** | Monitor ENTSO-G physical gas flows and interconnection point capacities |
| **Climate researchers** | Access energy balance sheets, oil/gas consumption, and renewable share data |
| **HR & workforce planners** | Search ESCO occupations and skills for job classification and workforce mapping |
| **Education policy analysts** | Compare enrollment, graduation rates, mobility, and expenditure across EU |
| **Academic researchers** | Find EU-funded research publications and project metadata via OpenAIRE |

### What data can EU Energy & Education Data Search extract?

| Source | Data type | Example fields |
|--------|-----------|----------------|
| ENTSO-G gas flows | Physical gas transmission flows | point, direction, flow_value, unit |
| ENTSO-G interconnection | Gas network connection points | point_name, country, operator, type |
| Eurostat electricity (household) | Residential electricity prices | country, band, price, currency, period |
| Eurostat electricity (industrial) | Industrial electricity prices | country, band, price, currency, period |
| Eurostat electricity supply | Generation, imports, consumption | country, indicator, value, unit |
| Eurostat energy balance | Complete national energy balances | country, product, flow, value |
| Eurostat gas balance | Natural gas supply and consumption | country, indicator, value, unit |
| Eurostat oil balance | Crude oil and petroleum products | country, product, indicator, value |
| Eurostat renewable energy | Renewable energy share by country | country, sector, share_percent |
| ESCO occupations | 3,000+ EU occupation classifications | occupation_title, isco_code, description |
| ESCO skills | 13,000+ skills and competences | skill_label, skill_type, reuse_level |
| Eurostat education enrollment | Student enrollment by level/country | country, isced_level, students |
| Eurostat education expenditure | Public spending on education | country, level, expenditure_gdp |
| Eurostat education graduates | Graduation rates and fields | country, field, graduates |
| Eurostat education mobility | International student mobility | country, direction, students |
| Eurostat education personnel | Teaching staff statistics | country, level, personnel |
| Eurostat education regional | Regional education indicators | region, indicator, value |
| OpenAIRE publications | EU research papers and datasets | title, authors, journal, doi, project |

### How to search EU energy and education data

1. Open the Actor in Apify Console
2. Enter search terms (e.g. "solar", "natural gas", "data scientist", "engineering")
3. Select data categories — energy and ESCO are enabled by default
4. Click **Start** — the Actor queries all enabled sources in parallel
5. Download results as JSON, CSV, or Excel

#### Example input

```json
{
  "searchTerms": ["solar", "wind"],
  "includeGasInfrastructure": false,
  "includeEnergyStatistics": true,
  "includeEscoTaxonomy": false,
  "includeEducationStatistics": false,
  "includeResearchPublications": true,
  "maxResultsPerSource": 50
}
````

### Output

Each row is a record from an EU energy or education source:

```json
{
  "country": "DE",
  "indicator": "Renewable energy share",
  "value": "20.4",
  "unit": "percent",
  "period": "2024",
  "_product_id": "eu_eurostat_renewable_energy",
  "_source": "eurostat_renewable_energy",
  "_search_term": "solar",
  "_collected_at": "2026-04-08T12:00:00Z"
}
```

### How much does it cost?

Pay-per-event pricing at $3.00 per 1,000 records returned.

- **Quick lookup** (1 term, energy stats only): ~$0.01–0.10
- **Comprehensive research** (5 terms, all 18 sources): ~$0.50–3.00

No browser overhead — lightweight API calls only. Control costs with `maxResultsPerSource`.

### Data sources (18 EU products)

| Category | Sources | Count |
|----------|---------|-------|
| ENTSO-G gas infrastructure | Gas flows, interconnection points | 2 |
| Eurostat energy | Electricity prices (household/industrial), electricity supply, energy balance, gas balance, oil balance, renewable energy | 7 |
| ESCO taxonomy | Occupations (3,000+), skills (13,000+) | 2 |
| Eurostat education | Enrollment, expenditure, graduates, mobility, personnel, regional | 6 |
| Research publications | OpenAIRE (EU research graph) | 1 |

### FAQ

**How current is energy pricing data?**
Eurostat energy data is typically updated semi-annually (S1/S2). ENTSO-G gas flows can be near real-time depending on the transmission point. SIP caches responses briefly but fetches from official upstream sources.

**What is ESCO?**
The European Skills, Competences, Qualifications and Occupations classification. It maps occupations to required skills and is used by EURES job portals and EU labor market systems. Useful for job matching, curriculum design, and workforce analytics.

**Can I compare electricity prices across countries?**
Yes. Search with a generic term like "electricity" with `includeEnergyStatistics` enabled. Results include country, consumption band, and price per kWh for both household and industrial consumers.

**Is OpenAIRE the same as Google Scholar?**
No. OpenAIRE is the EU's official open research infrastructure. It indexes publications from EU-funded projects (Horizon 2020/Europe) and links them to datasets, project metadata, and funding information — data not available in general academic search engines.

### Use as MCP Tool (AI Agent Integration)

This Actor works as an MCP tool — AI agents (Claude, GPT, Cursor) can discover and run it automatically.

#### Quick setup (Claude Desktop / Cursor / VS Code)

Add to your MCP config:

```json
{
  "mcpServers": {
    "apify": {
      "url": "https://mcp.apify.com",
      "headers": {
        "Authorization": "Bearer YOUR_APIFY_TOKEN"
      }
    }
  }
}
```

Then ask your AI: *"Search for solar energy in EU energy databases"*

#### Direct API call

```python
from apify_client import ApifyClient
client = ApifyClient("YOUR_APIFY_TOKEN")
run = client.actor("lentic_clockss/eu-energy-education-search").call(
    run_input={"searchTerms": ["solar"], "maxResultsPerSource": 50}
)
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(item)
```

### Other Data API Actors

- [US Education Data API](https://apify.com/lentic_clockss/us-education-search)
- [Denmark Government Data API](https://apify.com/lentic_clockss/denmark-data-search)
- [India Government Data API](https://apify.com/lentic_clockss/india-data-search)

# Actor input Schema

## `searchTerms` (type: `array`):

Keywords to search (e.g. 'solar', 'natural gas', 'data scientist', 'engineering'). Each term is searched across all enabled EU energy and education sources in parallel.

## `includeGasInfrastructure` (type: `boolean`):

Search ENTSO-G European gas transmission network — physical gas flows and interconnection points across EU member states (2 sources).

## `includeEnergyStatistics` (type: `boolean`):

Search Eurostat electricity prices (household/industrial), electricity supply, energy balance, gas balance, oil balance, and renewable energy share (7 sources).

## `includeEscoTaxonomy` (type: `boolean`):

Search the European Skills, Competences, Qualifications and Occupations taxonomy — occupations and skills classification used across EU labor market (2 sources).

## `includeEducationStatistics` (type: `boolean`):

Search Eurostat education data: enrollment, expenditure, graduates, student mobility, personnel, and regional education indicators (6 sources).

## `includeResearchPublications` (type: `boolean`):

Search OpenAIRE — Europe's largest open research graph with publications, datasets, and project metadata (1 source).

## `maxResultsPerSource` (type: `integer`):

Maximum records to return per data source (gateway caps at 200).

## Actor input object example

```json
{
  "searchTerms": [
    "solar"
  ],
  "includeGasInfrastructure": true,
  "includeEnergyStatistics": true,
  "includeEscoTaxonomy": true,
  "includeEducationStatistics": true,
  "includeResearchPublications": false,
  "maxResultsPerSource": 50
}
```

# Actor output Schema

## `records` (type: `string`):

Dataset containing gas flows, electricity prices, energy balances, skills taxonomy, education statistics, and research publications from 18 EU sources.

# 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 = {
    "searchTerms": [
        "solar"
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("lentic_clockss/eu-energy-education-search").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 = { "searchTerms": ["solar"] }

# Run the Actor and wait for it to finish
run = client.actor("lentic_clockss/eu-energy-education-search").call(run_input=run_input)

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

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

```

## CLI example

```bash
echo '{
  "searchTerms": [
    "solar"
  ]
}' |
apify call lentic_clockss/eu-energy-education-search --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=lentic_clockss/eu-energy-education-search",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "EU Energy & Education Data API",
        "description": "Search 18 EU energy and education data sources in parallel — ENTSO-G gas flows, Eurostat electricity prices, energy balances, renewable energy statistics, ESCO occupations and skills taxonomy, Eurostat education statistics, and OpenAIRE research publications. Official European data.",
        "version": "0.1",
        "x-build-id": "bGUg65a4Jo6eKOjOr"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/lentic_clockss~eu-energy-education-search/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-lentic_clockss-eu-energy-education-search",
                "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/lentic_clockss~eu-energy-education-search/runs": {
            "post": {
                "operationId": "runs-sync-lentic_clockss-eu-energy-education-search",
                "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/lentic_clockss~eu-energy-education-search/run-sync": {
            "post": {
                "operationId": "run-sync-lentic_clockss-eu-energy-education-search",
                "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",
                "required": [
                    "searchTerms"
                ],
                "properties": {
                    "searchTerms": {
                        "title": "Search terms",
                        "type": "array",
                        "description": "Keywords to search (e.g. 'solar', 'natural gas', 'data scientist', 'engineering'). Each term is searched across all enabled EU energy and education sources in parallel.",
                        "items": {
                            "type": "string"
                        }
                    },
                    "includeGasInfrastructure": {
                        "title": "Include ENTSO-G gas infrastructure",
                        "type": "boolean",
                        "description": "Search ENTSO-G European gas transmission network — physical gas flows and interconnection points across EU member states (2 sources).",
                        "default": true
                    },
                    "includeEnergyStatistics": {
                        "title": "Include Eurostat energy statistics",
                        "type": "boolean",
                        "description": "Search Eurostat electricity prices (household/industrial), electricity supply, energy balance, gas balance, oil balance, and renewable energy share (7 sources).",
                        "default": true
                    },
                    "includeEscoTaxonomy": {
                        "title": "Include ESCO skills & occupations",
                        "type": "boolean",
                        "description": "Search the European Skills, Competences, Qualifications and Occupations taxonomy — occupations and skills classification used across EU labor market (2 sources).",
                        "default": true
                    },
                    "includeEducationStatistics": {
                        "title": "Include Eurostat education statistics",
                        "type": "boolean",
                        "description": "Search Eurostat education data: enrollment, expenditure, graduates, student mobility, personnel, and regional education indicators (6 sources).",
                        "default": true
                    },
                    "includeResearchPublications": {
                        "title": "Include OpenAIRE research publications",
                        "type": "boolean",
                        "description": "Search OpenAIRE — Europe's largest open research graph with publications, datasets, and project metadata (1 source).",
                        "default": false
                    },
                    "maxResultsPerSource": {
                        "title": "Max results per source",
                        "minimum": 1,
                        "maximum": 200,
                        "type": "integer",
                        "description": "Maximum records to return per data source (gateway caps at 200).",
                        "default": 50
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
