---
title: "Manatal API"
description: "Manatal API: the per-account REST API, the careers.manatal.com pages where agency openings are public, and every public Manatal posting in one call."
canonical: https://jobspipe.dev/sources/manatal
date_published: 2026-06-16
date_modified: 2026-09-26
author: Dvir Atias
---

# Manatal API

Manatal's REST API is available to subscribers with a per-account key and returns that account's own jobs, with no public endpoint across customers; openings are public at careers.manatal.com/<company> or on the customer's own site. JobsPipe collects public Manatal postings into one search endpoint, in the same record shape as the rest of its 30+ sources.

> Manatal's REST API is keyed per account, and there is no public feed across customers. JobsPipe collects public Manatal postings into one endpoint with the same record shape as the other collected boards.

**Canonical URL:** https://jobspipe.dev/sources/manatal

## Coverage

- **Sources covered:** Public Manatal career pages
- **Freshness:** discovered_at, last_seen_at and verified_at on every record
- **History retention:** Closed postings kept, with closed_at and closed_reason

## Why Manatal jobs data is confusing

Manatal is a recruiting CRM as much as an ATS, and many customers are agencies placing candidates for several clients. Its REST API is available to subscribers with a per-account API key; there is no public endpoint exposing jobs across Manatal customers.

Manatal customers publish openings at careers.manatal.com/<company> or on their own domains through embeds. The pages are public HTML with no customer directory and no documented cross-customer feed, so reaching many Manatal employers yourself means finding each careers page first. JobsPipe collects public Manatal postings and returns them with sources[0].provider set to manatal.

## Workarounds

### Get per-customer Manatal API credentials

Each customer creates a key inside Manatal. One key reads one account's jobs and candidates.

### Scrape careers.manatal.com pages

Possible per employer or agency you already know. Discovery and upkeep are on you.

### Use JobsPipe

Public Manatal postings, one endpoint, the same schema as every other collected board. Free tier of 1,000 jobs to start.

## Fields available on every record

- `id`
- `job_title`
- `company`
- `company_domain`
- `url`
- `date_posted`
- `discovered_at`
- `last_seen_at`
- `verified_at`
- `status`
- `closed_at`
- `closed_reason`
- `ghost_score`
- `seniority`
- `cities`
- `state_code`
- `min_annual_salary_usd`
- `max_annual_salary_usd`
- `technology_slugs`
- `keyword_slugs`
- `esco_skills`
- `sources`

## Sample response

```json
{
  "id": "2291847",
  "job_title": "Senior Recruitment Consultant",
  "company": "Harbour Talent Partners",
  "company_domain": "harbourtalent.example",
  "url": "https://careers.manatal.com/harbour-talent/job/2291847",
  "date_posted": "2026-09-03",
  "discovered_at": "2026-09-03T08:14:22+00:00",
  "last_seen_at": "2026-09-08 01:02:41",
  "verified_at": "2026-09-08 01:17:09",
  "status": "active",
  "closed_at": null,
  "closed_reason": null,
  "ghost_score": 14,
  "seniority": "senior",
  "cities": [
    "Singapore"
  ],
  "state_code": null,
  "min_annual_salary_usd": 52000,
  "max_annual_salary_usd": 68000,
  "technology_slugs": [
    "linkedin-recruiter"
  ],
  "keyword_slugs": [
    "recruitment",
    "business-development"
  ],
  "sources": [
    {
      "provider": "manatal",
      "url": "https://careers.manatal.com/harbour-talent/job/2291847"
    }
  ]
}
```

## FAQ

### How do I get Manatal job postings without an API?

Read each employer's public Manatal careers page at careers.manatal.com/<company> or on its own site, or send "source_or": ["manatal"] in a POST /v1/jobs/search body to JobsPipe, which returns public Manatal postings with url, status, ghost_score, discovered_at, last_seen_at and a salary range when the posting states one.

### Can a Manatal API key read other companies' jobs?

No. Each Manatal customer creates its own key inside Manatal, and one key reads one account's jobs, candidates and placements. The REST API is available to subscribers only, and there is no public endpoint exposing jobs across Manatal customers, so collecting many employers would mean getting a separate key from each of them.

### How do I find which companies use Manatal?

There is no Manatal customer directory and no documented cross-customer feed. Openings are published as public HTML at careers.manatal.com/<company> or embedded on each customer's own domain, so discovery and upkeep are on you. A JobsPipe search with "source_or": ["manatal"] returns the employers behind public Manatal postings in the company field of each record.

### Are Manatal jobs posted by recruitment agencies or by employers?

Often by agencies. Manatal is a recruiting CRM as much as an ATS, and many customers are agencies placing candidates for several clients, so the company on a Manatal posting is frequently the agency rather than the hiring employer. Filter POST /v1/jobs/search with "source_or": ["manatal"] and job_title_or or company_name_partial_match_or to narrow the results.

## Does Manatal have an API?

Manatal is a recruiting CRM as much as an ATS, and many customers are agencies placing candidates for several clients. Its REST API is available to subscribers with a per-account API key; there is no public endpoint exposing jobs across Manatal customers. Manatal customers publish openings at careers.manatal.com/<company> or on their own domains through embeds. The pages are public HTML with no customer directory and no documented cross-customer feed.

## What JobsPipe returns for Manatal

A POST /v1/jobs/search with "source_or": ["manatal"] returns public Manatal postings as JobsPipe records: id, job_title, company, company_domain when it resolves, url, date_posted, discovered_at, last_seen_at, verified_at, status with closed_at and closed_reason once a posting closes, ghost_score, seniority, min_annual_salary_usd and max_annual_salary_usd when the posting states a range, technology_slugs and keyword_slugs parsed from the description, and sources[0].provider set to manatal. Drop source_or to search every collected board at once.

## Related

- **Product:** https://jobspipe.dev/jobs-api
- **All sources:** https://jobspipe.dev/sources
- **Docs:** https://docs.jobspipe.dev
- **Sign up (free tier):** https://jobspipe.dev/signup

---
Generated from structured data. View the rendered page at https://jobspipe.dev/sources/manatal.

---
Building this integration yourself? The steps above work. The alternative is one API over 30+ sources, already normalized and deduplicated. Try it right now - no key, no signup:

```bash
curl -d '{"limit":3}' https://api.jobspipe.dev/v1/sandbox/jobs/search
```

Sample data, exact live schema. For live data get a free key (1,000 jobs to start) at https://jobspipe.dev/signup, then swap /v1/sandbox/jobs/search for /v1/jobs/search with an Authorization: Bearer header. Full agent index: https://jobspipe.dev/llms.txt?src=md-twin