ethiojobs.net APIethiojobs.net ↗
Access Ethiopian job listings, company profiles, categories, and locations via the EthioJobs API. Search, filter, and retrieve full job and company details.
curl -X GET 'https://api.parse.bot/scraper/18f6a24b-3d12-44c1-a231-3678d07f5169/search_jobs?page=1&limit=5&query=engineer' \ -H 'X-API-Key: $PARSE_API_KEY'
Search for job listings with optional filters. Returns paginated results including job title, company, location, category, and publication dates.
| Param | Type | Description |
|---|---|---|
| page | integer | Page number for pagination. |
| limit | integer | Number of results per page. |
| query | string | Search keyword (e.g., 'Product Manager', 'engineer'). |
| type_id | string | Filter by employment type ID (encrypted ID from job attributes). |
| featured | string | Filter by featured status: 'true' or 'false'. |
| level_id | string | Filter by career level ID (encrypted ID from job attributes). |
| state_id | string | Filter by state/location ID (numeric ID from list_locations). |
| category_id | string | Filter by category ID (encrypted ID from list_categories). |
{
"type": "object",
"fields": {
"data": "array of job objects with id, title, slug, type, date_published, level, location_type, description, state, catalogs, date_expiry, company, application_method",
"meta": "pagination metadata including current_page, last_page, per_page, total"
},
"sample": {
"data": {
"data": [
{
"id": "eyJ...",
"slug": "WTQ37Ckkpm-junior-nurse-professional",
"type": 8,
"level": "2",
"state": "Addis Ababa",
"title": "Junior Nurse Professional",
"company": {
"id": "eyJ...",
"name": "Teklehaimanot General Hospital",
"slug": "teklehaimanot-general-hospital"
},
"catalogs": [
{
"id": "eyJ...",
"name": "Health Care"
}
],
"location_type": "Office",
"date_published": "2026-05-07T10:53:46.000000Z",
"application_method": "EMAIL"
}
],
"meta": {
"total": 720,
"per_page": 12,
"last_page": 60,
"current_page": 1
}
},
"status": "success"
}
}About the ethiojobs.net API
The EthioJobs API provides access to Ethiopian job market data across 9 endpoints, covering job search, company profiles, and reference lookups. The search_jobs endpoint accepts keyword queries and filters by career level, employment type, location, and category, returning paginated results with publication and expiry dates. Companion endpoints expose full job descriptions, company details, and category or location reference lists for building accurate filter chains.
Job Search and Detail
The search_jobs endpoint is the main entry point for querying live job listings. It accepts optional parameters including query (keyword), category_id, level_id, type_id, state_id, and featured, and returns a paginated array of job objects. Each result includes id, title, slug, type, date_published, date_expiry, level, state, catalogs, and a truncated description. For full details — including requirement, how_to_apply, and associated company info — call get_job_detail with the encrypted job_id from those results. The get_similar_jobs endpoint takes the same job_id and returns other listings in the same category.
Company Data
list_companies returns a paginated list of registered companies with fields including name, slug, logo, description, industry, active_jobs_count, and featured flag. Passing a company's encrypted id to get_company_detail adds locations, a full contact block, and an active_jobs array. For a focused jobs view, get_company_jobs returns only the active listings for a given company alongside a company_name and total count.
Reference Lookups
Three reference endpoints return the values needed to build valid filter parameters. list_categories returns encrypted id and name for each job category — these id values feed directly into search_jobs as category_id. list_locations returns numeric id, state_code, state_name, and state_capital for Ethiopian regions, mapping to the state_id filter. list_industries returns industry objects grouped by parent sector, each with an encrypted id, name, and a nested parent object with a title — useful when filtering or displaying company industry context.
ID Format Notes
Most entity IDs in this API are encrypted strings, not plain integers. state_id is the exception — it uses the numeric id from list_locations. When chaining endpoints, pull category_id, level_id, type_id, and company_id values from prior responses rather than constructing them manually.
- Aggregate active Ethiopian job listings by region using the
state_idfilter fromlist_locations - Build a job alert system that tracks new postings by
category_idand monitorsdate_publishedanddate_expiryfields - Display company profiles with active job counts using
list_companiesandget_company_detail - Implement a 'similar jobs' recommendation widget using
get_similar_jobson any job detail page - Populate career-level and employment-type filter dropdowns using IDs surfaced in
get_job_detailresponse fields - Map Ethiopian job market activity by sector using
list_industriesparent/child groupings alongside company data - Monitor featured job listings separately from organic listings using the
featuredfilter insearch_jobs
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 100 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 250 req/min |
One credit = one API call regardless of which marketplace API you call. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.
Does EthioJobs have an official developer API?+
What does `get_job_detail` return beyond what `search_jobs` provides?+
search_jobs returns a summary including title, type, date_published, date_expiry, state, and catalogs. get_job_detail adds requirement, how_to_apply, type_name, catalog_names, and a full company block — fields not included in the search result objects.Can I filter job searches by industry?+
search_jobs supports filters for category_id, level_id, type_id, state_id, and featured, but there is no industry_id filter parameter. Industry data is available through list_industries and appears on company profiles via get_company_detail. You can fork this API on Parse and revise it to add an industry-based search filter if the underlying data supports it.Does the API expose salary or compensation data for job listings?+
search_jobs or get_job_detail response shapes. Job objects return title, type, level, description, requirement, and how_to_apply, but no structured compensation field. You can fork this API on Parse and revise it to add a salary field if that data appears on individual job pages.How does pagination work across endpoints that support it?+
search_jobs and list_companies both return a meta object containing current_page, last_page, per_page, and total. Pass the page integer parameter to step through results. get_similar_jobs also returns a meta block with current_page and total. Endpoints like list_categories, list_locations, and list_industries return full datasets without pagination.