TopJobs.lk Scraper — Sri Lanka Job Vacancies & Employers avatar

TopJobs.lk Scraper — Sri Lanka Job Vacancies & Employers

Pricing

from $1.40 / 1,000 results

Go to Apify Store
TopJobs.lk Scraper — Sri Lanka Job Vacancies & Employers

TopJobs.lk Scraper — Sri Lanka Job Vacancies & Employers

Scrape every live vacancy on TopJobs.lk, Sri Lanka's largest job portal, capturing title, employer, salary, location, category, and closing date for recruiters, staffing agencies, and labour-market researchers.

Pricing

from $1.40 / 1,000 results

Rating

0.0

(0)

Developer

Salman Bareesh

Salman Bareesh

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

8 hours ago

Last modified

Share

Scrape live job vacancies from TopJobs.lk, Sri Lanka's largest job portal, capturing title, employer, location, category, posted/closing dates, and a link to the full job-ad image — for recruiters, staffing agencies, HR-tech founders, and labour-market researchers who need Sri Lankan hiring data without writing and maintaining their own scraper.

Why use the TopJobs.lk Scraper?

TopJobs.lk lists thousands of live vacancies at any given time across every industry in Sri Lanka, from IT to hospitality to accounting. Developers already build informal scrapers against it (there's an "unofficial TopJobs.lk API" and several job-market-analysis projects on GitHub) because there's no official API — this actor replaces that brittle, hand-rolled script with a maintained one.

Main capabilities:

  • Reads TopJobs.lk's own category-listing pages (vacancybyfunctionalarea.jsp), each of which embeds every live vacancy in that category — title, employer, location, posted date, and closing date — in a single response.
  • Optionally enriches every vacancy with its detail page: a parsed schema.org JobPosting JSON-LD block, the full-size job-ad image URL (TopJobs.lk ads are designed images, not plain text), and employment-type tags (Full Time / Part Time, Permanent, Onsite / Remote).
  • Filter by any of TopJobs.lk's 31 job categories, or leave it blank to scrape across all of them.
  • Runs on the Apify platform, so you get scheduling (daily/weekly feeds), API and webhook access, and monitoring out of the box.

Typical use cases:

  • Recruitment & staffing agencies — build a live feed of open roles to source candidates against, or track which employers are hiring right now.
  • Competitor / market intelligence — see which companies are hiring, for what roles, and in which locations.
  • Labour-market research — analyze hiring trends by category, region, and employer over time.
  • HR-tech & job aggregators — pull structured Sri Lankan job data into your own product instead of scraping TopJobs.lk yourself.

How to use the TopJobs.lk Scraper

  1. Click Try for free (or Run) on this actor's page.
  2. Optionally pick a Category to narrow results to one of TopJobs.lk's 31 job categories. Leave it as "All categories" to scrape across all of them.
  3. Set Max items to cap how many vacancies you want back.
  4. Toggle Include full description off if you only need the fast category-listing summary (no per-job detail-page fetch).
  5. Click Start and wait for the run to finish.
  6. Open the Dataset tab and export your vacancies as JSON, CSV, or Excel — or pull them programmatically via the API tab.

How much will it cost to use the TopJobs.lk Scraper?

You pay $0.002 per result — no subscription, no charge for anything else.

Your Apify discount tierPrice per result1,000 results
Free$0.002$2.00
Bronze$0.0018$1.80
Silver$0.0016$1.60
Gold$0.0014$1.40
Platinum / Diamond$0.0014$1.40

Apify's free plan includes $5 of monthly credit — enough for 2,500 vacancies at no cost. A typical daily pull of 200 fresh vacancies costs under $0.40.

A run stops automatically once it has returned maxItems results or once it hits your run's maximum charge (Apify's pay-per-result cost cap) — so maxItems directly controls what a run can cost you.

Input

All fields are optional — running the actor with an empty input ({}) scrapes the first 200 vacancies found, starting from the IT categories. See the Input tab for the full configuration schema.

FieldTypeDefaultDescription
categorystring (select)"" (all)Only scrape one of TopJobs.lk's 31 job categories, e.g. "Accounting/Auditing/Finance", "IT-Sware/DB/QA/Web/Graphics/GIS". Leave blank for all categories.
maxItemsinteger200Maximum number of vacancies to return.
includeFullDescriptionbooleantrueFetch each job's detail page for the posted/closing dates, full-size ad-image URL, and employment-type tags. Turn off for a much faster run that only returns the category-listing summary.

Example input for "the first 50 live IT-Telecoms vacancies, fast, without detail-page enrichment":

{
"category": "IT-Telecoms",
"maxItems": 50,
"includeFullDescription": false
}

Output

You can download the dataset in various formats such as JSON, HTML, CSV, or Excel. One item is produced per vacancy, with the same keys every time (null when that data isn't available for a given posting). This is a real item from a live run of this actor (tests/smoke_input.json, category Accounting/Auditing/Finance):

{
"jobId": "1547587",
"title": "Senior Executive - Finance (1)",
"employer": "Browns Investments PLC",
"category": "Accounting/Auditing/Finance",
"location": "Ekala, Western",
"salary": null,
"experienceRequired": null,
"educationRequired": null,
"postedDate": "2026-09-13",
"closingDate": "2026-09-27",
"description": "Please refer to the advertisement.",
"employmentTags": ["Full Time", "Permanent", "Onsite"],
"adImageUrl": "https://www.topjobs.lk/logo/0000000073/1139cVacancy%20o%20Executive%20Financecpageo0001.jpg",
"applyUrl": "https://www.topjobs.lk/employer/JobAdvertismentServlet?ac=0000000073&ec=0000000432&jc=0001547587&pg=index.jsp",
"sourceUrl": "https://www.topjobs.lk/employer/JobAdvertismentServlet?ac=0000000073&ec=0000000432&jc=0001547587&pg=index.jsp"
}

Field reference

FieldDescription
jobIdTopJobs.lk's internal job reference number
title, employerVacancy title and hiring employer's name
categoryThe TopJobs.lk functional-area category this vacancy was listed under
locationCity/area and province, when available
salaryNot published by TopJobs.lk on any vacancy observed — always null (see FAQ)
experienceRequired, educationRequiredNot extractable — always null (see FAQ)
postedDate, closingDateDates the vacancy was posted and closes, YYYY-MM-DD
descriptionShort text preview from the category listing (often "Please refer the advertisement" — the real ad is an image, see adImageUrl)
employmentTagsEmployment-type labels shown on the vacancy, e.g. ["Full Time", "Permanent", "Onsite"]; null if includeFullDescription is off
adImageUrlDirect link to the full-size job-ad image (the actual job description); null if includeFullDescription is off
applyUrl, sourceUrlLink to the vacancy's page on TopJobs.lk

FAQ, disclaimers, and support

Is this legal? Yes. Every vacancy this actor returns is a live, public job advertisement that TopJobs.lk itself displays to any visitor without a login. This actor only reads TopJobs.lk's own public pages — no login, no CAPTCHA solving, no third-party data broker.

Why are salary, experienceRequired, and educationRequired always null? TopJobs.lk renders the actual job description as a designed image (a scanned/graphic ad), not as machine-readable text — that image is exactly what adImageUrl links to. The one machine-readable field TopJobs.lk exposes per posting (a schema.org JSON-LD description) is a constant placeholder ("Please refer the full details...") on every single vacancy, so it carries no real information. If a future redesign of the site adds these fields as text, this actor will be updated to extract them.

Why did my run return fewer than maxItems results? Either that category has fewer live vacancies than maxItems, or (with category left blank) the run reached maxItems partway through a category and stopped there — rerun with a larger maxItems or pick a specific category to see more of it.

How fresh is the data? As fresh as TopJobs.lk itself — vacancies are scraped live from the site's current listing pages on every run.

Can I get every live vacancy on the site? Yes — leave category blank and set maxItems high enough (TopJobs.lk has roughly 3,000-3,500 live vacancies across all categories at any time).

All data comes from TopJobs.lk's own public vacancy pages, which the site publishes openly to any visitor without requiring login or payment. This actor identifies itself with a descriptive User-Agent and paces its requests politely. It does not collect any personal candidate data — only employer-published job advertisements.

Limits & notes

  • salary, experienceRequired, and educationRequired are always null — TopJobs.lk does not publish this as extractable text on any vacancy (see FAQ).
  • description is a short preview only; the full ad is the image at adImageUrl.
  • Some job postings are in Sinhala or Tamil; text fields are passed through as-is (UTF-8).

Support

Found a bug or have a feature request? Use the Issues tab on this actor's page. For programmatic access, see the API tab for ready-made code snippets in your language of choice.