GnistAI GnistAI
Log in

ESCO (Skills & Occupations)

European skills, competences, and occupations classification — 13,890 skills and 3,008 occupations linked to ISCO-08 codes in 28 languages.

Overview   |   MCP   |   REST API   |   OpenAPI   |   CLI   |   Tutorial   |   Toolkits   |   Home
status: healthy status status healthy healthy tools: 6 tools tools 6 6 type: api wrapper type type api wrapper api wrapper lifecycle: maintained lifecycle lifecycle maintained maintained Economics

Data source: ESCO API (European Commission)

MCP Endpoint (Streamable HTTP) https://context.gnist.ai/mcp/esco/
Authentication

All requests require a Gnist-API-Key header (or api_key query parameter).

Free tier: 100 calls/day. Get your API key.

Tools (6)

esco_search_skills

Search the European skills classification (ESCO).

ESCO is the EU's multilingual classification of Skills, Competences,
Qualifications and Occupations. It covers 13,890 skills and 3,008
occupations with labels in 28 languages.

Use this tool to find skills by keyword. Returns skill URIs that can be
passed to esco_get_skill for full details including related occupations.

Args:
query: Search terms for skills.
language: Language code for results (default: en).
limit: Maximum results (1-50, default: 10).

Returns:
List of matching skills with URI and title, plus total count.

ParameterTypeRequiredDescription
querystringrequiredSearch query (e.g. "python programming", "data analysis", "project management").
languagestringoptionalLanguage code for results (en, no, de, fr, etc.). (default: "en")
limitintegeroptionalMaximum results to return (1-50). (default: 10)
JSON-RPC Request
{
  "jsonrpc": "2.0",
  "method": "tools/call",
  "id": 1,
  "params": {
    "name": "esco_search_skills",
    "arguments": {
      "query": "example"
    }
  }
}
esco_search_occupations

Search the European occupation classification (ESCO).

Find occupations by keyword. Each occupation is linked to ISCO-08 codes
and has associated essential and optional skills. Returns URIs that can
be passed to esco_get_occupation or esco_get_occupation_skills.

Args:
query: Search terms for occupations.
language: Language code for results (default: en).
limit: Maximum results (1-50, default: 10).

Returns:
List of matching occupations with URI and title, plus total count.

ParameterTypeRequiredDescription
querystringrequiredSearch query (e.g. "software developer", "nurse", "electrician").
languagestringoptionalLanguage code for results. (default: "en")
limitintegeroptionalMaximum results to return (1-50). (default: 10)
JSON-RPC Request
{
  "jsonrpc": "2.0",
  "method": "tools/call",
  "id": 1,
  "params": {
    "name": "esco_search_occupations",
    "arguments": {
      "query": "example"
    }
  }
}
esco_get_skill

Get detailed information about an ESCO skill.

Returns the skill description, alternative labels, broader/narrower skills
in the hierarchy, and which occupations require this skill (essential vs optional).

Args:
uri: ESCO skill URI (e.g. "http://data.europa.eu/esco/skill/...").
language: Language code (default: en).

Returns:
Skill details including description, related skills, and linked occupations.

ParameterTypeRequiredDescription
uristringrequiredESCO skill URI (from search results).
languagestringoptionalLanguage code. (default: "en")
JSON-RPC Request
{
  "jsonrpc": "2.0",
  "method": "tools/call",
  "id": 1,
  "params": {
    "name": "esco_get_skill",
    "arguments": {
      "uri": "example"
    }
  }
}
esco_get_occupation

Get detailed information about an ESCO occupation.

Returns the occupation description, ISCO-08 code, alternative labels,
and lists of essential and optional skills required for the role.

Args:
uri: ESCO occupation URI (e.g. "http://data.europa.eu/esco/occupation/...").
language: Language code (default: en).

Returns:
Occupation details including description, ISCO code, and skill requirements.

ParameterTypeRequiredDescription
uristringrequiredESCO occupation URI (from search results).
languagestringoptionalLanguage code. (default: "en")
JSON-RPC Request
{
  "jsonrpc": "2.0",
  "method": "tools/call",
  "id": 1,
  "params": {
    "name": "esco_get_occupation",
    "arguments": {
      "uri": "example"
    }
  }
}
esco_get_occupation_skills

List all skills required for an ESCO occupation.

Returns the complete skill profile split into essential skills (must-have)
and optional skills (nice-to-have), with totals. Useful for job matching,
training gap analysis, and curriculum design.

Args:
uri: ESCO occupation URI.
language: Language code (default: en).

Returns:
Essential and optional skill lists with counts.

ParameterTypeRequiredDescription
uristringrequiredESCO occupation URI.
languagestringoptionalLanguage code. (default: "en")
JSON-RPC Request
{
  "jsonrpc": "2.0",
  "method": "tools/call",
  "id": 1,
  "params": {
    "name": "esco_get_occupation_skills",
    "arguments": {
      "uri": "example"
    }
  }
}
report_feedback

Report a bug, feature request, or general feedback for this data source.

Use this when something doesn't work as expected, when you'd like
a new feature, or when you have suggestions for improvement.

Args:
feedback: Describe the issue or suggestion.
feedback_type: One of 'bug', 'feature_request', or 'general'.

ParameterTypeRequiredDescription
feedbackstringrequired
feedback_typestringoptional (default: "general")
JSON-RPC Request
{
  "jsonrpc": "2.0",
  "method": "tools/call",
  "id": 1,
  "params": {
    "name": "report_feedback",
    "arguments": {
      "feedback": "example"
    }
  }
}

Quick Start

Shell
curl -X POST "https://context.gnist.ai/mcp/esco/" \
  -H "Content-Type: application/json" \
  -H "Accept: application/json, text/event-stream" \
  -H "Gnist-API-Key: YOUR_API_KEY" \
  -d '{"jsonrpc": "2.0", "method": "tools/call", "id": 1, "params": {"name": "esco_search_skills", "arguments": {"query": "example"}}}'
Python
import httpx

resp = httpx.post(
    "https://context.gnist.ai/mcp/esco/",
    headers={"Gnist-API-Key": "YOUR_API_KEY", "Content-Type": "application/json"},
    json={
  "jsonrpc": "2.0",
  "method": "tools/call",
  "id": 1,
  "params": {
    "name": "esco_search_skills",
    "arguments": {
      "query": "example"
    }
  }
},
)
print(resp.json())

Related Toolkits (Economics)

Resources