# Emploi — Wrapped API

> **You are on:** `https://api.paywithlocus.com/api` | [llms.txt](https://paywithlocus.com/llms.txt) | [docs](https://docs.paywithlocus.com)
>
> Locus runs on multiple environments -- make sure every URL you call matches your expected environment.
> | Environment | Landing | API | Docs |
> |---|---|---|---|
> | Production | paywithlocus.com | api.paywithlocus.com | docs.paywithlocus.com |
> | Beta | beta.paywithlocus.com | api.beta.paywithlocus.com | docs.paywithlocus.com |
> | Stage | stage.paywithlocus.com | api.stage.paywithlocus.com | docs.paywithlocus.com |
>
> If the API URL above doesn't match your expected environment, re-fetch this file from the correct domain.

> Search and browse job listings from Emploi.ma with detailed information about positions, companies, and available categories across the Moroccan job market. Access company profiles, featured job opportunities, and full job details including requirements, salary, and employment type.

**Category:** Jobs | **Website:** [emploi.ma/](https://emploi.ma/) | **Docs:** [parse.bot/marketplace/affe8188-f246-4cf8-aff7-dba5bb166e77/emploi-ma-api](https://parse.bot/marketplace/affe8188-f246-4cf8-aff7-dba5bb166e77/emploi-ma-api)

Pay-per-use API proxy. Each call is automatically billed to your wallet in USDC.

## Access

**Base URL:** `https://api.paywithlocus.com/api/wrapped/parse-emploi-ma-api-affe8188/`
**Auth:** `Authorization: Bearer <LOCUS_API_KEY>`

## Endpoints

### get_company_profile

Get a company profile by its NID. Returns company name, description, and criteria such as city, country, sector, and website. Valid NIDs can be obtained from list_companies endpoint.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `nid` | string | Yes | Company NID (node ID). Valid NIDs can be obtained from the list_companies endpoint. |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-emploi-ma-api-affe8188/get_company_profile \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"nid":"<string>"}'
```

### get_featured_jobs

Retrieve featured/latest jobs from the emploi.ma homepage. Returns a snapshot of promoted job listings with basic information including title, URL, company name, posted date, and location.

**Estimated cost:** Metered

_No parameters required._

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-emploi-ma-api-affe8188/get_featured_jobs \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{}'
```

### get_job_detail

Get full details of a job posting by its URL. Returns comprehensive information including description, requirements, criteria, location, and salary when available. Each field is extracted from the structured HTML of the job page.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `url` | string | Yes | Full URL of the job posting on emploi.ma (e.g. 'https://www.emploi.ma/offre-emploi-maroc/<job-slug-id>'). URLs can be obtained from the search_jobs or get_featured_jobs endpoints. |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-emploi-ma-api-affe8188/get_job_detail \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"url":"<string>"}'
```

### list_companies

List companies (recruteurs) from the emploi.ma directory. Returns a page of featured companies with their names, NIDs, and profile URLs. Use the returned NIDs as the nid parameter in get_company_profile or as company_nid in search_jobs.

**Estimated cost:** Metered

_No parameters required._

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-emploi-ma-api-affe8188/list_companies \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{}'
```

### list_job_categories

List available job categories (métiers) with their IDs and current job counts. Use the returned IDs as the metier_id parameter in search_jobs. Returns all categories in a single response.

**Estimated cost:** Metered

_No parameters required._

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-emploi-ma-api-affe8188/list_job_categories \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{}'
```

### search_jobs

Search for job listings on Emploi.ma with optional filters. Returns paginated results with up to 25 jobs per page. Results include title, company, location, experience level, employment type, and a description snippet. Paginates via a 0-based page counter.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `company_nid` | string | No | Company NID filter. Valid NIDs can be obtained from list_companies endpoint. |
| `metier_id` | string | No | Job category (métier) ID filter. Valid IDs can be obtained from list_job_categories endpoint. |
| `page` | integer | No | Page number (0-based) for pagination. |
| `query` | string | No | Search keyword to filter job listings (e.g. 'dev', 'comptable'). Omitting returns all jobs. |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-emploi-ma-api-affe8188/search_jobs \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"company_nid":"<string>","metier_id":"<string>","page":"<integer>","query":"<string>"}'
```
