BrighterMonday Scraper
Pricing
from $3.00 / 1,000 results
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
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
3 days ago
Last modified
Categories
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) andbyUrls(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 IDtitle,companyName,locationemploymentType—fullTime/partTime/contract/internship/temporary/volunteercategory,industryexperienceLevel,experienceMonthssalaryMin,salaryMax,salaryCurrency,salaryPeriod(only when disclosed)descriptionHtml,descriptionText— full job description (whenincludeFullDescriptionis on)datePosted,validThrough— ISO 8601 timestampsisFeatured,isNew,isDirectApplyaddressRegion,addressCountrysourceUrl— canonical listing URLrecordType: "job",scrapedAt
Input
| Field | Type | Default | Description |
|---|---|---|---|
mode | string | search | search / byUrls |
searchQuery | string | accountant | Free-text keyword (mode=search); leave empty to browse all listings |
location | select | – | Filter to a BrighterMonday location region |
experienceLevel | select | – | Filter to an experience level |
industry | select | – | Filter to an industry |
jobFunction | select | – | Filter to a job category/function (e.g. Sales, Software & Data, Human Resources) |
employmentType | select | – | Filter to an employment type (applied client-side) |
sortBy | select | relevance | relevance (featured) or popular |
minSalary / maxSalary | int | – | Salary bounds (local currency units); jobs with undisclosed salary always pass through |
containsKeyword | string | – | Substring filter on title/description/company |
listingUrls | array | – | Direct listing URLs (mode=byUrls) |
includeFullDescription | bool | true | Fetch each listing's detail page for full description/salary/deadline |
maxItems | int | 30 | Hard 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.