Devex Jobs Scraper — No API Key Needed avatar

Devex Jobs Scraper — No API Key Needed

Pricing

from $6.00 / 1,000 job results

Go to Apify Store
Devex Jobs Scraper — No API Key Needed

Devex Jobs Scraper — No API Key Needed

Scrape international-development, NGO, humanitarian and UN jobs from Devex.com — zero setup, no API key: AI extraction is built in. Clean records: title, organisation, location, salary, deadline, URL. Delta mode returns only new postings; alive-check re-verifies known URLs.

Pricing

from $6.00 / 1,000 job results

Rating

0.0

(0)

Developer

Nomad Dev

Nomad Dev

Maintained by Community

Actor stats

0

Bookmarked

18

Total users

5

Monthly active users

7.5 hours

Issues response

5 days ago

Last modified

Categories

Share

Devex Jobs Scraper — source facts from inventory

This Actor returns Devex job postings from the shared position inventory in the flat nomad-agent-job-row-v1 contract.

The private Devex collector retrieves and parses the public source. This Actor only reads completed inventory records, applies the postedWithin filter, and maps source facts into the shared row. It does not call a model, translate or enrich text, search the open web, or fall back to live page parsing.

Input

FieldDefaultMeaning
postedWithin7dSource-date window such as 24h, 7d, 2w, 6m, or any.
maxItems12Maximum number of postings, from 1 to 50.

Output

Every row follows nomad-agent-job-row-v1, the one shape shared by all of this fleet's job Actors. A row carries every field; null means the source did not publish that fact, and locations: [] means no usable location was parsed from the posting. Nothing is guessed.

{
"schemaVersion": "nomad-agent-job-row-v1",
"recordType": "posting",
"source": "devex",
"id": "a1b2c3",
"url": "https://example.com/devex/jobs/a1b2c3",
"title": "Senior Backend Engineer",
"company": "Example Company",
"locations": [
"Bilbao",
"Spain"
],
"postedAt": "2026-09-02T00:00:00Z",
"deadline": "2026-10-15",
"description": null,
"descriptionHtml": null,
"workType": "remote",
"custom": {
"schemaId": "nomad-agent-job-custom-devex-v1",
"data": {
"externalId": "…",
"descriptionContractVersion": "…",
"descriptionSourceUrl": "…"
}
}
}
FieldMeaning
schemaVersionAlways "nomad-agent-job-row-v1".
recordType"posting" for a job, "diagnostic" for a row reporting something about the run itself.
sourceWhich job source the posting came from, from the collector registry's vocabulary — not the Actor name.
idStable identifier for the posting within source.
urlCanonical public URL of the posting on the source site.
titleJob title exactly as the source publishes it, untruncated.
companyEmployer name as published.
locationsPlaces the role is based, most specific first — e.g. ["Bilbao", "Spain"].
postedAtWhen the source published the posting, ISO-8601 UTC (YYYY-MM-DDTHH:MM:SSZ).
deadlineClosing date for applications as an ISO-8601 calendar date (YYYY-MM-DD).
descriptionThe complete posting body as plain text — never truncated, never summarised.
descriptionHtmlThe posting body as the source's own markup, preserving lists, headings and links.
workTypeWorking arrangement: "remote", "hybrid" or "onsite".
customFacts only this source publishes, as {"schemaId", "data"}.

A run also emits diagnostic rows — recordType: "diagnostic" with a warnings array — when it has something to report, such as a source returning nothing. They are never billed and are easy to filter out on recordType.

Pricing

The existing Actor start event still applies. A result event is charged only for each posting delivered; diagnostic rows are never charged as results.