Wadifa Info: Morocco Public Jobs

Moroccan public-sector jobs data: search open recruitment exams (concours) with deadlines and official notices, past exam papers, civil-service net salaries by grade, public and school holidays. Remote, no key, CC BY 4.0.

Hosted MCP Server

npx add-mcp 'https://www.wadifa-info.com/mcp'

Installs into Claude Code, Codex, Cursor and more

Documentation

Open data on Moroccan public-sector employment from Wadifa Info: recruitment exams (concours) with deadlines and official notices, net pay for 370 civil-service grades, public and school holidays. Read-only JSON, no key, no sign-up, CORS open, CC BY 4.0. Data in French and Arabic.

OpenAPI 3.1 spec Postman collection Live demo Datasets on GitHub

Endpoints

EndpointReturns
GET /api/v1/concoursOpen recruitment exams: grade, employer, number of posts, publication date, application deadline, link to our page and to the official notice. ?lang=ar for Arabic, ?limit= up to 2000. Updated hourly.
GET /api/v1/salairesIndicative net monthly pay at the first step of 370 civil-service grades (official simulator basis). ?lang=ar.
GET /api/v1/jours-feriesMoroccan public holidays for this year and next. Islamic holidays carry approximate: true until the Ministry of Habous confirms the moon sighting.
GET /api/v1/vacances-scolairesSchool breaks of the 2026/2027 school year (ministerial decision 047.26).
/agenda/dates-limites, /agenda/jours-feries, /agenda/vacances-scolairesiCalendar feeds to subscribe to in Google Calendar, Outlook or Apple Calendar (?lang=ar for Arabic titles).
/rss, /fr/rssRSS feeds of the latest exams.

MCP server for AI agents

The same data as tools for Claude, ChatGPT, Cursor and other MCP clients: remote server (Streamable HTTP, no key) at https://www.wadifa-info.com/mcp. Tools: search_concours, get_concours, search_exam_papers, get_exam_paper, civil_service_salaries, public_holidays, school_holidays, list_filters.

{ "mcpServers": { "wadifa-info": { "type": "http", "url": "https://www.wadifa-info.com/mcp" } } }

Examples

curl "https://www.wadifa-info.com/api/v1/concours?limit=5"
import requests
r = requests.get("https://www.wadifa-info.com/api/v1/concours", params={"limit": 20})
for c in r.json()["items"]:
    print(c["deadline"], c["grade"], c["url"])
const r = await fetch("https://www.wadifa-info.com/api/v1/jours-feries");
const { holidays } = await r.json();
console.log(holidays.filter(h => !h.approximate));

Terms

  • Licence: CC BY 4.0, commercial use included.
  • Attribution: show “Source: Wadifa Info” with a visible, clickable link to the url field of each item you display.
  • Fair use: please cache responses (data changes at most hourly) and stay under one request per minute.
  • Dates and posts in the official notice (official_notice) prevail.

Open datasets

Projects using the API

  • wadifa-info-sdk by Voxgig: generated client libraries for TypeScript, Python, PHP, Go, Ruby and Lua, plus a CLI and an MCP server for AI agents (unofficial, not maintained by us).
  • API Evangelist profile and the listing on APIs.io.

Built something else? Tell us at [email protected] and we will add it here. We can also add endpoints you need.