GnistAI GnistAI
Log in

Stortinget (Norwegian Parliament)

Norwegian Parliament data — representatives, committees, cases/bills, votes, and topic taxonomy.

Overview   |   MCP   |   REST API   |   OpenAPI   |   CLI   |   Tutorial   |   Toolkits   |   Home
status: healthy status status healthy healthy tools: 10 tools tools 10 10 type: api wrapper type type api wrapper api wrapper lifecycle: flagship lifecycle lifecycle flagship flagship Government

Data source: Stortinget (data.stortinget.no)

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

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

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

Tools (10)

list_sessions

List all parliamentary sessions in the Norwegian Storting.

Returns sessions from 1986-87 to the current session, each identified by
a session ID like '2024-2025'. Use the session ID with other tools
(get_cases, list_committees) to query data within a specific session.

Returns:
Dict with 'count' and 'sessions' list. Each session has id, from, to dates.

JSON-RPC Request
{
  "jsonrpc": "2.0",
  "method": "tools/call",
  "id": 1,
  "params": {
    "name": "list_sessions",
    "arguments": {}
  }
}
get_current_representatives

Get all current members of the Norwegian Parliament (Stortinget).

Returns the full list of sitting representatives, including their party,
county, committee assignments, and contact information.

Returns:
Dict with 'count' and 'representatives' list. Each has id, name, party,
county, committees, email, gender, and date_of_birth.

JSON-RPC Request
{
  "jsonrpc": "2.0",
  "method": "tools/call",
  "id": 1,
  "params": {
    "name": "get_current_representatives",
    "arguments": {}
  }
}
get_representatives

Get representatives for a specific parliamentary period.

Parliamentary periods span four years (e.g. '2021-2025', '2017-2021').
Use list_sessions to find valid period IDs.

Args:
period_id: Parliamentary period (e.g. '2021-2025').

Returns:
Dict with 'count' and 'representatives' list.

ParameterTypeRequiredDescription
period_idstringrequiredParliamentary period (e.g. '2021-2025').
JSON-RPC Request
{
  "jsonrpc": "2.0",
  "method": "tools/call",
  "id": 1,
  "params": {
    "name": "get_representatives",
    "arguments": {
      "period_id": "example"
    }
  }
}
list_parties

List political parties in the Norwegian Parliament.

Without a session_id, returns all parties (historical and current).
With a session_id, returns only parties represented in that session.

Args:
session_id: Optional session (e.g. '2024-2025'). Omit for all parties.

Returns:
Dict with 'count' and 'parties' list. Each has id and name.

ParameterTypeRequiredDescription
session_idanyoptionalOptional session (e.g. '2024-2025'). Omit for all parties.
JSON-RPC Request
{
  "jsonrpc": "2.0",
  "method": "tools/call",
  "id": 1,
  "params": {
    "name": "list_parties",
    "arguments": {}
  }
}
list_committees

List parliamentary committees for a given session.

Committees handle specific policy areas: finance, justice, health, energy, etc.
Each session typically has 15-18 standing committees.

Args:
session_id: Parliamentary session (e.g. '2024-2025').

Returns:
Dict with 'count' and 'committees' list. Each has id and name.

ParameterTypeRequiredDescription
session_idstringrequiredParliamentary session (e.g. '2024-2025').
JSON-RPC Request
{
  "jsonrpc": "2.0",
  "method": "tools/call",
  "id": 1,
  "params": {
    "name": "list_committees",
    "arguments": {
      "session_id": "example"
    }
  }
}
get_cases

Get all cases (bills, propositions, questions) for a parliamentary session.

Returns all cases processed during the session, including their committee
assignment, topics, and status. Use the case ID with get_case for full
details or get_votes for voting results.

Args:
session_id: Parliamentary session (e.g. '2024-2025').

Returns:
Dict with 'count' and 'cases' list. Each has id, title, committee,
topics, and status.

ParameterTypeRequiredDescription
session_idstringrequiredParliamentary session (e.g. '2024-2025').
JSON-RPC Request
{
  "jsonrpc": "2.0",
  "method": "tools/call",
  "id": 1,
  "params": {
    "name": "get_cases",
    "arguments": {
      "session_id": "example"
    }
  }
}
get_case

Get detailed information about a specific parliamentary case.

Returns full case details including proposers, rapporteurs, committee,
topics, and reference information.

Args:
case_id: Numeric case ID (e.g. 103839).

Returns:
Full case details with proposers, rapporteurs, topics, and committee info.

ParameterTypeRequiredDescription
case_idintegerrequiredNumeric case ID (e.g. 103839).
JSON-RPC Request
{
  "jsonrpc": "2.0",
  "method": "tools/call",
  "id": 1,
  "params": {
    "name": "get_case",
    "arguments": {
      "case_id": 1
    }
  }
}
get_votes

Get voting results for a parliamentary case.

Returns all votes taken on the case, including for/against counts,
whether it passed, and the specific motion being voted on.

Args:
case_id: Numeric case ID (e.g. 103839).

Returns:
Dict with 'count' and 'votes' list. Each vote has for/against/absent
counts, passed status, and the motion topic.

ParameterTypeRequiredDescription
case_idintegerrequiredNumeric case ID (e.g. 103839).
JSON-RPC Request
{
  "jsonrpc": "2.0",
  "method": "tools/call",
  "id": 1,
  "params": {
    "name": "get_votes",
    "arguments": {
      "case_id": 1
    }
  }
}
list_topics

List the parliamentary topic taxonomy.

Returns the two-level hierarchy of policy topics used to classify cases.
Main topics include areas like Energy, Finance, Defense, Education, Health.
Each main topic has subtopics for more specific classification.

Returns:
Dict with 'count' and 'topics' list. Each has id, name, is_main_topic,
and a subtopics list.

JSON-RPC Request
{
  "jsonrpc": "2.0",
  "method": "tools/call",
  "id": 1,
  "params": {
    "name": "list_topics",
    "arguments": {}
  }
}
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/stortinget/" \
  -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": "get_representatives", "arguments": {"period_id": "example"}}}'
Python
import httpx

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

Related Toolkits (Government)

Resources