-
To be added: Get general information about Kenya,its people, government, institutions, health, culture, energy, finance, infrastructure, geographical sites, etc.
-
Get information about the 47 counties, including population, industries, area, tribes, postal codes, etc.
- Node.js
- Express.js
To access the base URL, https://kenya-api.onrender.com
List of all the available kenya-api base routes.
/health
/country
/county
/wards
/postal_stations
Installation
# install dependencies
$ yarn install
# serve with hot reload at localhost:3000
$ yarn run dev
Your application will be served on port 3000 by default, you can change that by modifying the .env file.
For a detailed explanation of how things work, check out Express.js.
This REST API endpoint allows you to retrieve information about counties based on their county code.
- Method: GET
- Endpoint:
/county
- Parameters:
county_code
: The unique numerical code of the county (required)
- Status Code: 200 (OK) - Successful request
- Status Code: 400 (Bad Request) - County not found or invalid
county_code
{
"county": {
"code": 1,
"name": "Mombasa",
"capital": "Mombasa (City)",
"contact": "[email protected]",
"website": "https://eservices.mombasa.go.ke/site/",
"location": "Coastal Kenya",
"border": ["Kilifi", "Kwale", "Indian Ocean"],
"area": "219 km2",
"Population": "939,370",
"Mining": ["Chrome ore", "Cement", "Salt", "Sand"]
},
"status": 200
}
{
"error": "County with the code {county_code} not found",
"status": 400
}
GET /county?county_code=1
{
"county": {
"code": 1,
"name": "Mombasa",
"capital": "Mombasa (City)",
"contact": "[email protected]",
"website": "https://eservices.mombasa.go.ke/site/",
"location": "Coastal Kenya",
"border": ["Kilifi", "Kwale", "Indian Ocean"],
"area": "219 km2",
"Population": "939,370",
"Mining": ["Chrome ore", "Cement", "Salt", "Sand"]
},
"status": 200
}
GET /county?county_code=99
{
"error": "County with the code 99 not found",
"status": 400
}
GET /county
{
"counties": [
{
"code": 1,
"name": "Mombasa",
"capital": "Mombasa (City)",
"contact": "[email protected]",
"website": "https://eservices.mombasa.go.ke/site/",
"location": "Coastal Kenya",
"border": ["Kilifi", "Kwale", "Indian Ocean"],
"area": "219 km2",
"Population": "939,370",
"Mining": ["Chrome ore", "Cement", "Salt", "Sand"]
},
// Additional counties...
],
"status": 200
}
This REST API endpoint allows you to retrieve information about wards based on their ward code.
- Method: GET
- Endpoint:
/wards
- Parameters:
ward_code
: The unique alphanumeric code of the ward (required)
- Status Code: 200 (OK) - Successful request
- Status Code: 400 (Bad Request) - Ward not found or invalid
ward_code
GET /wards?ward_code=40101
{
"ward": {
"code": "40101",
"office": "Ahero"
},
"status": 200
}
{
"error": "Ward with the code 40101 not found",
"status": 400
}
GET /wards?ward_code=99999
{
"error": "Ward with the code 99999 not found",
"status": 400
}
GET /wards
{
"wards": [
{
"code": "40101",
"office": "Ahero"
},
{
"code": "30101",
"office": "Ainabkoi"
},
{
"code": "40139",
"office": "Akala"
},
// Additional wards...
],
"status": 200
}
This API endpoint allows you to retrieve information about postal stations based on their postal code.
- Method: GET
- Endpoint:
/postal_stations
- Parameters:
post_code
: The unique numerical postal code of the station (required)
- Status Code: 200 (OK) - Successful request
- Status Code: 400 (Bad Request) - Postal station not found or invalid
post_code
- Status Code: 200 (OK) - Request without
post_code
, returns all postal stations
{
"post": {
"code": 12345,
"name": "Sample Postal Station",
"location": "Sample Location",
"district": "Sample District"
},
"status": 200
}
{
"error": "Post station with the code {postal_code} not found",
"status": 400
}
GET /postal_stations?post_code=12345
{
"post": {
"code": 12345,
"name": "Sample Postal Station",
"location": "Sample Location",
"district": "Sample District"
},
"status": 200
}
GET /postal_stations?post_code=99999
{
"error": "Post station with the code 99999 not found",
"status": 400
}
GET /postal_stations
{
"postal_stations": [
{
"code": 12345,
"name": "Sample Postal Station 1",
"location": "Sample Location 1",
"district": "Sample District 1"
},
{
"code": 67890,
"name": "Sample Postal Station 2",
"location": "Sample Location 2",
"district": "Sample District 2"
},
// Additional postal stations...
],
"status": 200
}
Contributions are always welcome! You can contribute to this project in various ways, including but not limited to:
- Updating to correct information
- Adding missing information
- Writing and adding tests
- Fixing bugs and issues
- Improving documentation
- Implementing new features
See contributing.md
for more details on how to get started with contributing.
Please adhere to this project's code of conduct
.