BrighterMonday Scraper avatar

BrighterMonday Scraper

Pricing

from $3.00 / 1,000 results

Go to Apify Store
BrighterMonday Scraper

BrighterMonday Scraper

Scrape live job listings from BrighterMonday.co.ke, Kenya's largest job board. Search by keyword, location, industry, and experience level, or fetch full job details (description, salary, deadline) from listing URLs.

Pricing

from $3.00 / 1,000 results

Rating

0.0

(0)

Developer

Crawler Bros

Crawler Bros

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

3 days ago

Last modified

Share

Scrape live job listings from BrighterMonday.co.ke, Kenya's largest job board. Search by keyword, location, industry, and experience level, or fetch full job details — description, salary, deadline, requirements — from listing URLs. No login, no cookies, no paid proxy required.

What this actor does

  • Two modes: search (keyword + filters) and byUrls (direct listing fetch)
  • Filters: location, experience level, industry, job category/function, employment type, salary range, keyword
  • Rich detail enrichment: optionally follows each listing to pull the full job description, salary breakdown, application deadline, and requirements
  • Empty fields are omitted — every record only contains data actually present on the listing

Output per job

  • jobId — BrighterMonday's internal listing ID
  • title, companyName, location
  • employmentTypefullTime / partTime / contract / internship / temporary / volunteer
  • category, industry
  • experienceLevel, experienceMonths
  • salaryMin, salaryMax, salaryCurrency, salaryPeriod (only when disclosed)
  • descriptionHtml, descriptionText — full job description (when includeFullDescription is on)
  • datePosted, validThrough — ISO 8601 timestamps
  • isFeatured, isNew, isDirectApply
  • addressRegion, addressCountry
  • sourceUrl — canonical listing URL
  • recordType: "job", scrapedAt

Input

FieldTypeDefaultDescription
modestringsearchsearch / byUrls
searchQuerystringaccountantFree-text keyword (mode=search); leave empty to browse all listings
locationselectFilter to a BrighterMonday location region
experienceLevelselectFilter to an experience level
industryselectFilter to an industry
jobFunctionselectFilter to a job category/function (e.g. Sales, Software & Data, Human Resources)
employmentTypeselectFilter to an employment type (applied client-side)
sortByselectrelevancerelevance (featured) or popular
minSalary / maxSalaryintSalary bounds (local currency units); jobs with undisclosed salary always pass through
containsKeywordstringSubstring filter on title/description/company
listingUrlsarrayDirect listing URLs (mode=byUrls)
includeFullDescriptionbooltrueFetch each listing's detail page for full description/salary/deadline
maxItemsint30Hard cap (1–1000)

Example: mid-level IT jobs in Nairobi

{
"mode": "search",
"searchQuery": "developer",
"location": "nairobi",
"industry": "it-telecoms",
"experienceLevel": "mid-level",
"maxItems": 50
}

Example: fetch specific listings

{
"mode": "byUrls",
"listingUrls": [
"https://www.brightermonday.co.ke/listings/sales-and-marketing-representative-ernmpj",
"https://www.brightermonday.co.ke/listings/school-principal-454mp8"
]
}

Use cases

  • Recruitment intelligence — track live hiring demand by industry, location, or experience tier across Kenya
  • Salary benchmarking — aggregate disclosed salary ranges by role/industry
  • Job aggregation — feed a meta job board or Slack/email alert pipeline
  • Market research — monitor which companies and sectors are hiring
  • Lead generation — identify companies actively recruiting for outreach

FAQ

Does this require login or cookies? No. All listings scraped are publicly visible on brightermonday.co.ke.

Why do some jobs lack a salary? Many employers list salary as "Confidential." The actor omits salaryMin/salaryMax entirely rather than emitting a fake value.

What locations are supported? Kenya-wide plus curated hubs: Nairobi, Mombasa, Kisumu, Nakuru, Eldoret, Thika, Trans Nzoia, Rest of Kenya, Outside Kenya, and Remote.

Does employmentType filter server-side? BrighterMonday's search UI doesn't expose an employment-type URL filter, so this actor applies it client-side after fetching results — results are still exact.

How fresh is the data? Real-time — every run hits brightermonday.co.ke live; no caching.

Can I turn off the detail-page fetch for speed? Yes — set includeFullDescription to false to only use search-results-page fields (title, company, location, employment type, category, salary tag). This is faster for large maxItems runs.