Bored API documentation
A free JSON API that suggests something to do. No API key, no sign-up, CORS enabled for browser apps.
Base URL: https://www.boredapi.com/api/. All endpoints accept GET and return JSON. If nothing matches your filters you get {"error": "No activity found with the specified parameters"}.
Activities (v1)
GET/api/activity
A random activity.
GET https://www.boredapi.com/api/activity
{
"activity": "Learn Express.js",
"type": "education",
"participants": 1,
"price": 0.1,
"link": "https://expressjs.com/",
"key": "3943506",
"accessibility": 0.25
}
GET/api/activity?key=:key
A specific activity by its 7-digit key.
GET https://www.boredapi.com/api/activity?key=3943506
GET/api/activity?type=:type
A random activity of one type: education, recreational, social, diy, charity, cooking, relaxation, music or busywork.
GET https://www.boredapi.com/api/activity?type=recreational
GET/api/activity?participants=:participants
A random activity for an exact number of people. Use minparticipants and maxparticipants for a range.
GET https://www.boredapi.com/api/activity?participants=1
GET/api/activity?price=:price
A random activity with an exact price factor, where 0 is free and 1 is the most expensive.
GET https://www.boredapi.com/api/activity?price=0.0
GET/api/activity?minprice=:min&maxprice=:max
A random activity with a price factor in an inclusive range.
GET https://www.boredapi.com/api/activity?minprice=0&maxprice=0.1
GET/api/activity?accessibility=:accessibility
A random activity with an exact accessibility factor, where 0 is the easiest to do.
GET https://www.boredapi.com/api/activity?accessibility=0.1
GET/api/activity?minaccessibility=:min&maxaccessibility=:max
A random activity with an accessibility factor in an inclusive range.
GET https://www.boredapi.com/api/activity?minaccessibility=0&maxaccessibility=0.1
Response fields
| Field | Type | Description | Values |
|---|---|---|---|
activity | String | What to do | |
type | String | Category of the activity | education, recreational, social, diy, charity, cooking, relaxation, music, busywork |
participants | Number | How many people it involves | 1 and up |
price | Number | Cost factor, 0 is free | 0 to 1 |
accessibility | Number | How easy it is to do, 0 is the most accessible | 0 to 1 |
link | String | A helpful link, often empty | |
key | String | Unique 7-digit id | 1000000 to 9999999 |
Version 2 endpoints
v2 wraps each result in an object and adds a few extra fields. Price is expressed as dollar signs ($ to $$$$$) and accessibility as a short label.
| Endpoint | Returns |
|---|---|
/api/v2/activities | {"activity": {...}} with duration and kidFriendly. Same filters as v1, plus /api/v2/activities/:key. |
/api/v2/facts | A random fact, or /api/v2/facts/:key |
/api/v2/riddles | A random riddle, optional ?difficulty=easy|normal|hard |
/api/v2/websites | A random interesting website |
Quick examples
JavaScript
const res = await fetch("https://www.boredapi.com/api/activity?type=social");
const { activity } = await res.json();
Python
import requests
data = requests.get("https://www.boredapi.com/api/activity").json()
print(data["activity"])
curl
curl "https://www.boredapi.com/api/activity?participants=2"