Gov APImain.knesset.gov.il ↗
Access current and historical Israeli Knesset members' bios, party affiliations, committee memberships, ministry roles, and contact info via 3 structured endpoints.
What is the Gov API?
The Knesset Members API provides structured data on Israel's parliament across 3 endpoints, covering all ~120 current members of the 25th Knesset as well as historical MKs. The get_current_mks endpoint returns the full alphabetically sorted roster in a single request, while get_mk_details exposes faction history, committee history, and ministry history across all Knesset terms for any individual member by ID.
No input parameters required.
curl -X GET 'https://api.parse.bot/scraper/41465acf-fdc2-42d1-b8c6-051e519490b1/get_current_mks' \ -H 'X-API-Key: $PARSE_API_KEY'
Typed, relational, agent-ready
A generated client with real types, enums, and the links between objects — the structure a flat JSON response can't carry. Autocompletes in your editor and reads cleanly to coding agents.
- Fully typed · autocompletes
- Objects link to objects
- Typed errors & pagination
Typed Python client. Set up the SDK in your uv project, then pull this API’s typed client:
uv add parse-sdk uv run parse init uv run parse add --marketplace main-knesset-gov-il-api
uv run parse add --marketplace pulls a pinned snapshot of this canonical API — it won’t change underneath you. To customize it, subscribe and swap to your own copy.
"""Walkthrough: Knesset Members SDK — browse, search, and drill into parliamentary profiles."""
from parse_apis.knesset_members__mks__api import Knesset, MemberSummary, MemberNotFound
client = Knesset()
# List current MKs (25th Knesset), capped to 5 for brevity.
for mk in client.members.list(limit=5):
print(mk.name_hebrew, mk.current_faction, mk.email)
# Search by faction name (Hebrew recommended), take one result.
mk_summary = client.members.search(query="הליכוד", limit=1).first()
if mk_summary:
print(mk_summary.name_hebrew, mk_summary.is_current)
# Drill into full detail — faction/committee/ministry history.
detail = mk_summary.details()
print(detail.name_hebrew, len(detail.faction_history), "faction records")
for record in detail.committee_history[:3]:
print(record.committee_name, record.position, record.knesset)
# Direct get by ID — typed error handling.
try:
member = client.members.get(mk_id="214")
print(member.name_hebrew, member.current_faction)
for role in member.government_roles:
print(role.ministry, role.position, role.start_date)
except MemberNotFound as exc:
print(f"MK not found: {exc.mk_id}")
print("exercised: members.list / members.search / summary.details / members.get")
Get all current Knesset members with their basic info, current faction, committee memberships, and government roles. Returns members sorted alphabetically by Hebrew name. This is the full list of the 25th Knesset; no pagination — one request returns all ~120 members.
No input parameters required.
{
"type": "object",
"fields": {
"total": "integer - number of current MKs",
"members": "array of MK summary objects",
"knesset_number": "integer - current Knesset number (25)"
},
"sample": {
"data": {
"total": 139,
"members": [
{
"email": "[email protected]",
"mk_id": 214,
"gender": "זכר",
"person_id": 427,
"photo_url": "https://oknesset.org/static/img/Male_portrait_placeholder_cropped.jpg",
"committees": [
{
"name": "Committee Name",
"position": "Member",
"start_date": "2023-05-01"
}
],
"is_current": true,
"name_hebrew": "אביגדור ליברמן",
"last_updated": "2022-11-10 11:19:09",
"name_english": null,
"current_faction": "ישראל ביתנו",
"government_roles": [],
"last_name_hebrew": "ליברמן",
"first_name_hebrew": "אביגדור",
"last_name_english": null,
"first_name_english": null
}
],
"knesset_number": 25
},
"status": "success"
}
}About the Gov API
What the API Covers
The API surfaces data from the Open Knesset project (oknesset.org) across three endpoints. get_current_mks returns the complete 25th Knesset membership — roughly 120 members — in one response, including each member's mk_id, Hebrew name, current faction, committee memberships with position and start date, and any current government ministry roles. No pagination parameters are needed.
Member Detail and History
get_mk_details takes a single mk_id parameter (a numeric string obtained from get_current_mks or search_mks) and returns a richer profile: name_hebrew, name_english (when available), gender, photo_url, email, is_current status, and full faction_history across all Knesset terms — each entry carries faction_name, knesset number, start_date, and end_date. The committees array is scoped to the current 25th Knesset.
Searching Members
search_mks accepts a query string matched against Hebrew name, English name, faction name, and alternate names. Results include both current and historical MKs, with current members ranked first. Hebrew queries return the most complete results because name_english is not populated for every member. The response provides a total count alongside the results array of MK summary objects.
The Gov API is a managed, monitored endpoint for main.knesset.gov.il — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when main.knesset.gov.il changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.
This isn't an official main.knesset.gov.il API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.
Will this API break when the source site changes?+
Is this an official API from the source site?+
Can I fix or extend this API myself if I need a new endpoint or field?+
What happens if I call an endpoint that has an issue?+
- Build a parliamentary tracker that maps current faction composition of the 25th Knesset using
current_factionfromget_current_mks. - Display an individual MK's full career timeline by pulling
faction_historyand committee history fromget_mk_details. - Cross-reference committee membership data to identify which MKs sit on multiple committees simultaneously.
- Create a searchable directory of Knesset members using
search_mkswith Hebrew or English name queries. - Track government ministry assignments for current MKs using the ministry roles returned in
get_current_mks. - Pull
emailandphoto_urlfromget_mk_detailsto populate a contact directory for constituent outreach tools. - Analyze party switching behavior across Knesset terms using
faction_historywithstart_dateandend_datefields.
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 100 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 100 req/min |
One credit = one API call regardless of which marketplace API you call. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.
Does the Knesset have an official developer API?+
What does get_mk_details return that get_current_mks does not?+
get_mk_details adds faction_history across all Knesset terms (not just the current one), email, gender, photo_url, is_current status, and name_english when available. get_current_mks returns summary objects suitable for listing but omits historical term data and contact details.Does search_mks work equally well in Hebrew and English?+
name_english field is not populated for all members, so an English-language search may miss MKs whose English names are absent from the dataset. Faction name search works in both languages where data is available.Does the API return voting records or legislative bill data for MKs?+
Are historical (non-current) MKs accessible through all three endpoints?+
search_mks returns both current and historical MKs, and get_mk_details works for any mk_id including past members. get_current_mks is scoped exclusively to the 25th Knesset. Historical MK IDs can be retrieved via search_mks and then passed to get_mk_details for full term history.