JAWB / Company pages & API

Your Jawb openings, on your own company website.

Publish once on Jawb. Your developer can use the JSON feed to display open roles on your Careers page, linking candidates to Jawb to apply.

Prepare your feed

Create a visible company in “My companies” and associate your jobs with it. Each company has a public, read-only feed at /api/entreprises/{identifier}/offres.json. Use its slug (the last part of its page address) or UUID. No API key is required.

Choose a language and paginate

Parameters: lang=fr, en or ar (default fr), limit from 1 to 100 (default 100), page starting at 1. Follow next until it is null to retrieve every page. title and description use the requested language, falling back to French when a translation is missing. titre, titre_en and titre_ar remain for compatibility.

Understand the response

company, company_id, company_url, website and logo_url describe the employer. jobs contains id, slug, title, description, ville, type_contrat, mode_travail, metier, salaire, created_at, updated_at, expires_at, is_boosted and boost_until. url and apply_url link to Jawb. total, page, limit and next describe pagination. Missing values may be null.

Display jobs on your website

Fetch the feed, render titles, locations and contracts, then link each Apply button to apply_url. Treat descriptions as text using textContent, never injected HTML. Cross-domain requests are allowed through CORS. WordPress and other CMS platforms can fetch the same feed on the server; no specific Jawb plugin is needed.

Updates and closed jobs

Poll no more often than every five minutes. Caching can delay changes by a few minutes. Replace the previous list with the complete result: closed, archived and expired jobs disappear. A company with no openings returns jobs: [] and total: 0. Display a clear empty message.

Handle errors without losing jobs

200: valid result. 400: invalid identifier or parameters. 404: company missing or not visible. 503: temporary outage. On 503, briefly retain the last valid list, indicate updates are delayed and retry with increasing delays. Do not turn network errors into a “not hiring” message.

Public feed limits

The feed reads jobs only. It cannot publish jobs, change recruitment records or download CVs and applications. It exposes no login credentials or private candidate contacts. Applications and tests remain on Jawb. The general RSS feed (/rss.xml, with ville and metier filters) provides the latest 50 jobs; use the company feed for your own careers page.

Test your company feed

Your test result will appear here.

/api/entreprises/boostlab/offres.json

JavaScript example for your developer

const endpoint = 'https://jawb.ma/api/entreprises/boostlab/offres.json?lang=en&limit=100';
let next = endpoint;
const jobs = [];
while (next) {
  const response = await fetch(new URL(next, 'https://jawb.ma'));
  if (!response.ok) throw new Error('HTTP ' + response.status);
  const data = await response.json();
  jobs.push(...data.jobs);
  next = data.next;
}
const list = document.createElement('ul');
for (const job of jobs) {
  const item = document.createElement('li');
  const link = document.createElement('a');
  link.href = job.apply_url;
  link.textContent = job.title + ' — ' + job.ville;
  item.append(link);
  list.append(item);
}
document.querySelector('#jobs').replaceChildren(list);

<div id="jobs"></div>

Your next application starts with a company people can understand.

Create my company page ↗Explore companies →

An opportunity worth sharing

Share this page with your network.