Manatal Jobs Monitor & Scraper avatar

Manatal Jobs Monitor & Scraper

Pricing

from $4.50 / 1,000 job record saveds

Go to Apify Store
Manatal Jobs Monitor & Scraper

Manatal Jobs Monitor & Scraper

Get public Manatal jobs with full descriptions and apply links. Compare complete careers-page.com snapshots to track new, changed and removed postings.

Pricing

from $4.50 / 1,000 job record saveds

Rating

0.0

(0)

Developer

Cliqto Media

Cliqto Media

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

a day ago

Last modified

Share

Get public Manatal jobs from known careers-page.com boards. Read full job descriptions and apply links, or track job changes between complete snapshots. Start with {"tenants":["manatal"]}. Pricing is $0.04 per run plus $0.0045 per saved job row; empty and unchanged runs pay only the start fee.

Manatal Jobs Monitor and Scraper

Contents

What it does

Add up to 3 known Manatal board slugs or board URLs. The Actor reads their public job lists with descriptions. It returns current jobs in scrape mode. In monitor mode, it compares complete snapshots and returns new, changed and removed jobs.

The first monitor run makes a baseline and returns the current jobs. Later runs return only changes. The Actor reads a documented public Manatal API without a login or API key.

Data you get

  • Job title, department, location and contract type.
  • Public job ID and numeric ID.
  • Full description as HTML and plain text, when the source provides it.
  • Job page and apply links.
  • Change type, content hash and scan time.

The Dataset is for job rows. The Key-value store contains:

RecordUse
OUTPUTOverall result and status for each board.
RUN_SUMMARYScan counts, saved rows, charged rows, requests, retries and limits.
SNAPSHOTFull unfiltered jobs for the next run. Check complete: true.
CHANGESFull change counts and the change rows delivered to the Dataset.

Quick start

  1. Open Input and add manatal to Career board slugs or URLs.
  2. Keep mode as scrape and maxResults as 315.
  3. Set a maximum cost of at least $0.20 for this example.
  4. Click Start.
  5. Open Output and the Dataset. Check title, source_job_id and description_text.
  6. Check OUTPUT.status and each board status before using the results.

The board had 32 jobs in our check. Public job counts can change. The form prefills manatal; API calls must supply tenants.

Input fields

KeyTypeDefault / prefillRangeEffectRecommendation
tenantsstring arrayRequired; form prefill ["manatal"]1–3 entriesSelects known public boards. Slugs or HTTPS careers-page.com board URLs. Repeated boards count once.Start with one board.
modestringscrapescrape, monitorReturns current jobs or snapshot changes.Use scrape for exports; monitor for changes.
previousRunIdstringNot set17 letters/numbers; monitor onlyReads a complete snapshot from a successful run of this Actor. The boards must match.Omit for the first monitor run.
maxResultsinteger3151–315Limits output rows after the full scan. A capped result is partial.Keep 315 for full output.
titleContainsstringEmpty0–100 charactersLiteral title filter; case is ignored. Applied after the full scan and change check.Leave empty to get all matching jobs or changes.

A full board URL such as https://www.careers-page.com/manatal/ is accepted. Job URLs, candidate portals, custom domains, HTTP URLs and unknown input fields are rejected. Filters and output limits do not reduce the full source scan.

Input examples

Current jobs

{"tenants":["manatal"],"mode":"scrape"}

Known boards with a title filter

{"tenants":["manatal","1st-jobscom"],"titleContains":"Engineer","maxResults":315}

First monitor run

{"tenants":["manatal"],"mode":"monitor"}

For the next run, add previousRunId with the first run's ID. Use the same boards. The previous run may use scrape or monitor mode, but its SNAPSHOT.complete must be true.

Output example

These selected fields come from a real scrape run. Each full row has all fields in the next table.

{
"tenant": "manatal",
"company_name": "Manatal Co LTD",
"source_job_id": "L8597V4V",
"title": "Business Development Internship (12PM - 9PM)",
"department": "Customer Success",
"location": "Bangkok, Bangkok, Thailand",
"employment_type": "full_time",
"url": "https://www.careers-page.com/manatal/job/L8597V4V",
"apply_url": "https://www.careers-page.com/manatal/job/L8597V4V/apply",
"change_type": "current"
}

Output fields

All fields are present. Missing source values use null, not an empty string. HTML and text examples below are excerpts.

FieldTypeNull?ExampleMeaning
tenantstringNomanatalBoard slug.
company_namestringNoManatal Co LTDActual public board owner name. An agency board can list jobs for other employers.
source_platformstringNomanatalAlways manatal.
source_job_idstringNoL8597V4VPublic job hash, unique within a board.
source_numeric_idintegerNo1333846Numeric Manatal job ID.
titlestringNoBusiness Development Internship (12PM - 9PM)Public position name.
departmentstring/nullYesCustomer SuccessPublic organization name, when shown.
locationstring/nullYesBangkok, Bangkok, ThailandDisplay location from the source.
citystring/nullYesBangkokCity, if provided.
statestring/nullYesBangkokState or region, if provided.
countrystring/nullYesThailandCountry, if provided.
is_remoteboolean/nullYesnullSource remote flag. Null means unknown.
employment_typestring/nullYesfull_timeSource contract label, such as full_time.
urlstringNohttps://www.careers-page.com/manatal/job/L8597V4VPublic job page.
apply_urlstringNohttps://www.careers-page.com/manatal/job/L8597V4V/applyPublic application link. The Actor does not open or submit it.
posted_atstring/nullYesnullNull: this list API does not publish a posting date.
source_urlstringNohttps://www.careers-page.com/manatalPublic company board URL.
record_typestringNojob_recordAlways job_record.
sourcestringNomanatal-jobs-monitor-scraperAlways manatal-jobs-monitor-scraper.
observed_atstringNo2026-10-04T16:32:09.795ZUTC time of this scan; not a posting date.
description_htmlstring/nullYes

Manatal...

(excerpt)
Full public source description as HTML. Treat it as untrusted content.
description_textstring/nullYesManatal... (excerpt)Description as readable text with HTML removed.
content_hashstringNoc9faf6e98a7f4b510810e407d8a2e66079cdc6fd4481886cf8196384a45c047dSHA-256 of job content; excludes fetch time and change_type.
change_typestringNocurrentcurrent, baseline, new, changed or removed.

For a removed row, job details come from the previous complete snapshot. observed_at is the new scan time. A removed row means the posting is no longer on that board; it does not prove a hire. is_remote: null does not mean on-site.

Pricing

EventPrice
Start a run$0.04
Save a current job or a detected change to the Dataset$0.0045

The price is the same across plan tiers. The row event is charged once after the row is saved. Duplicate inputs do not add rows. No row fee is charged for an empty board, no matching titles or no changes. The $0.04 start fee still applies, including failed or partial runs. Platform usage is included in PPE pricing for paid customer runs. Your own developer runs show platform usage costs.

Saved rows in one runEvent total
0$0.04
1$0.0445
10$0.085
100$0.49
315$1.4575

1,000 rows need at least four runs because each run is limited to 315 source jobs. At four starts, the event total is $4.66. This is arithmetic for several runs, not a tested single-run capacity. Set the maximum run cost to cover the start fee and the rows you need. The minimum accepted cost limit is $0.05. A cost stop can leave a partial result.

Use cases

TaskModeUseful fields
Build an export for known company boardsscrapetitle, description_text, url
Check hiring signalsmonitortenant, change_type, observed_at
Follow job editsmonitorsource_job_id, content_hash, description_text
Track agency job listsscrapecompany_name, department, location

Monitoring

  1. Run monitor mode without previousRunId.
  2. Check the run succeeded and SNAPSHOT.complete is true.
  3. Add that run ID as previousRunId for the next run.
  4. Read new, changed and removed rows. Zero rows can mean no changes.
  5. Use the latest successful complete run as your next baseline.

Only the same set of boards can be compared. An incomplete, missing or foreign Actor snapshot is rejected. If any current board is incomplete, all monitor changes are disabled. A 404 is not treated as mass removal. A complete empty board can report removed jobs when a complete earlier snapshot had jobs.

You can create a schedule in Apify Console yourself. After each complete run, update the baseline ID in your next input or automation. This Actor does not create schedules or webhooks, and it does not advance the baseline automatically. Each run has the start fee. Use a reasonable interval for the source.

API and integrations

Run cliqtomedia/manatal-jobs-monitor-scraper with the same JSON input through the Apify API. After the run ends, use its defaultDatasetId to download JSON or CSV through the Dataset API. Read OUTPUT from its Key-value store to check completeness.

The Apify MCP server can run Actors from an AI client. Pass this Actor name and the same input. Availability follows your account access and Actor visibility. You can connect Dataset results to your own integrations. No integration is created by this Actor.

Limits and partial results

  • Up to 3 known boards and 315 source jobs in total per run. Live checks covered 315 jobs from 3 boards.
  • 256 MB memory and a 90-second internal source deadline. A separate 120-second process limit also bounds initialization, storage and shutdown. A forced stop can leave missing terminal records; check run status.
  • At most 20 HTTP attempts, 2 retries per temporary failure, 2 MiB per response and 8 MiB total response data.
  • All boards are read before output filtering. More source jobs can hit the scan limit even if the filter matches none.
  • complete: all boards and matching output are complete. An empty successful board uses this status.
  • partial: a board, source page, output limit or charge limit stopped a full result. Check the board reasons.
  • not_found: the requested board returned 404. The run fails if all boards are missing.
  • error: invalid input, source, snapshot or storage failure. It does not mean there are no jobs.

A source list can change while pages are read. Count changes, missing pages and conflicting duplicates prevent a complete snapshot. Equal-count source changes during a scan may remain undetected: the source does not offer an atomic snapshot. A page size or deadline failure also prevents a valid monitor baseline. Job descriptions are public source text and can include HTML; sanitize it before displaying it in your own website.

Company discovery, applications, candidate accounts, private ATS data, salary inference and posting-date inference are outside this Actor. posted_at stays null. Only known boards hosted on careers-page.com are accepted. Memory above 256 MB and non-positive or unbounded platform timeouts are rejected before source work. Finite platform timeouts of 300 seconds or longer are accepted; they do not increase the internal work limits. Restarting or resurrecting a used run is not supported; start a new run with a complete baseline instead.

Troubleshooting

What you seeWhat to checkNext action
not_foundBoard slug and public board URLCheck the careers-page.com URL and correct the slug.
Empty Dataset, completeFilter or no changesRead RUN_SUMMARY and CHANGES.counts.
partial, RESULT_LIMITmaxResultsUse 315 or a narrower filter; start a new run.
partial, CHARGE_LIMITMaximum costAllow start fee plus enough row events; run again.
SCAN_LIMITTotal source jobsUse fewer or smaller boards. A title filter will not reduce source work.
INCOMPATIBLE_SNAPSHOTSame Actor, boards, complete flagPick a complete successful baseline.
PREVIOUS_RUN_NOT_COMPATIBLEPrevious run status and owner accessUse a successful run of this Actor.
error or missing recordsSource availability or storageCheck logs; retry in a new bounded run. Do not use it as a baseline.

FAQ

Do I need a Manatal API key? No. The Actor reads the public career-page API.

Does it find company boards for me? No. Supply known slugs or board URLs.

Does it download applications or candidate data? No. It reads job postings. Apply links are returned as links only.

Are full descriptions included? Yes, when the public list provides them. Both HTML and readable text are saved.

Are unchanged jobs charged in monitor mode? No. Monitor emits changes only after the first baseline. An unchanged run pays the start fee.

Is a partial snapshot safe for removal checks? No. The Actor rejects it as a baseline and disables changes when the current scan is incomplete.

Does maxResults reduce the scan cost? No. It limits output after reading source jobs.

For other public boards, use our Greenhouse Jobs Monitor or Lever Jobs Scraper.

Support

Use this Actor's Issues tab. Include the run ID, public board slug and expected result. Share no tokens, candidate data or private ATS records. This Actor is maintained by CliqtoMedia and is not affiliated with Manatal. Source endpoint details are in the Manatal documentation.