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

FieldTypeDescriptionValues
activityStringWhat to do
typeStringCategory of the activityeducation, recreational, social, diy, charity, cooking, relaxation, music, busywork
participantsNumberHow many people it involves1 and up
priceNumberCost factor, 0 is free0 to 1
accessibilityNumberHow easy it is to do, 0 is the most accessible0 to 1
linkStringA helpful link, often empty
keyStringUnique 7-digit id1000000 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.

EndpointReturns
/api/v2/activities{"activity": {...}} with duration and kidFriendly. Same filters as v1, plus /api/v2/activities/:key.
/api/v2/factsA random fact, or /api/v2/facts/:key
/api/v2/riddlesA random riddle, optional ?difficulty=easy|normal|hard
/api/v2/websitesA 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"