eFinancialCareers Jobs Scraper avatar

eFinancialCareers Jobs Scraper

Pricing

from $0.84 / 1,000 results

Go to Apify Store
eFinancialCareers Jobs Scraper

eFinancialCareers Jobs Scraper

Scrapes finance and banking job listings from eFinancialCareers. Each row carries title, company, location, job type, salary and posted date, with optional full job description.

Pricing

from $0.84 / 1,000 results

Rating

0.0

(0)

Developer

Ibnu Adzim

Ibnu Adzim

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

14 days ago

Last modified

Categories

Share

Scrapes finance and banking job listings from eFinancialCareers, the leading job board for finance-industry roles. Each row carries title, company, location, job type, salary and posted date, with optional full job description.


What each row contains

FieldNotes
titleJob title
companyEmployer name
locationCity, country
jobTypePermanent, Contract, etc.
salaryDisplayed value — often "Competitive" rather than a figure
postedRelative date, e.g. "27 days ago"
descriptionFull job description (only with includeJobDetails)
urlListing URL

Record types

recordTypeOne perPurpose
SEARCH_SUMMARYqueryupstream's own count, requests spent, honesty flags
JOBlistingthe listing itself
ERRORfailed inputso every input maps to at least one row

Search is relevance-based, not exact-match

keyword is full-text search across a ~70,000-job corpus, the way a search engine works — not a closed category list. There is no "invalid keyword" this Actor can detect, because essentially any finance-adjacent phrase matches something. Search broadly and use location to narrow, rather than expecting an exact-title lookup.

The one real trap: an unresolved location silently drops the filter

An unrecognised location is not rejected — it silently falls back to the worldwide result set, and the page's own displayed heading can even show an unrelated, nonsensical placeholder string rather than an error. This Actor detects the failure by comparing the result count against a keyword-only baseline fetched once per query (the count is the reliable signal; the displayed text is not) and reports locationApplied: false with zero rows rather than quietly returning worldwide results labelled as location-filtered.


Input

FieldNotes
keywordRequired. Free-text job title/skill search
locationOptional. City or country name
queriesOptional array to run several searches in one call
includeJobDetailsOne extra request per listing, for the full description
maxItemsPer query
minRequestIntervalDefaults to 1s; raise to 10s to match robots.txt's stated crawl delay

Example

{
"keyword": "quant trader",
"location": "singapore",
"includeJobDetails": true,
"maxItems": 100
}

Known limits

  • No unfiltered "browse all jobs" mode is offered — keyword is required.
  • Salary is frequently "Competitive" rather than a figure; that is what upstream displays, passed through as-is.
  • A small, constant set of sponsored listings (~5 of every 20) repeats across every page of a large result set — deduplicated automatically, so it never produces duplicate rows.

Anti-bot

Mostly none — seven TLS fingerprints tested locally on both search and detail pages returned clean data every time — but an occasional shared block/maintenance page from eFinancialCareers' corporate parent (DHI Group) does appear on some cloud requests. The Actor detects it by content (not just status code, since it can arrive as a plain HTTP 200) and automatically rotates fingerprint and exit IP to recover, which succeeded in verification. Defaults to residential proxy, since cloud egress is fingerprinted differently from a local test. robots.txt's /search path is never used by this Actor — it works entirely through the unrestricted /jobs/{keyword} surface.