# BrainyQuote API

> BrainyQuote returns famous quotes by topic, person, and daily category as a workflow and API.

BrainyQuote finds quotes on the closest matching topic page and returns them in displayed order; enter a topic. Get quotes by person returns a person's description and quotes with topic tags and links; enter a person's name. Get quote of the day returns the quote, author, and date for a chosen daily category; enter a category.

- Page: https://fous.com/workflows/brainyquote
- Handle: `@brainyquote`
- Category: [Education](https://fous.com/workflows/category/education)
- Source website: https://brainyquote.com
- Last verified: Sep 29, 2026
- Fous is not affiliated with BrainyQuote.

## Methods

### Get quote of the day

Operation `get_quote_of_the_day`, version 1. 1 credit per call.

Get the quote shown today in a chosen BrainyQuote daily category, with its author and quote link. The date follows the day shown on BrainyQuote.

**Input**

| Field | Type | Required | Example | Description |
|---|---|---|---|---|
| `category` | string | no | `"nature"` | Daily quote section to read, for example nature. |

**Input schema**

```json
{
  "type": "object",
  "properties": {
    "category": {
      "enum": [
        "general",
        "love",
        "nature",
        "funny",
        "art"
      ],
      "type": "string",
      "default": "general",
      "description": "Daily quote section to read, for example nature.",
      "examples": [
        "nature",
        "love",
        "art"
      ]
    }
  },
  "additionalProperties": false,
  "examples": [
    {},
    {
      "category": "nature"
    },
    {
      "category": "love"
    }
  ]
}
```

**Output**

| Field | Type | Example | Description |
|---|---|---|---|
| `date` | string | `"2026-09-29"` | Day shown for these quotes. |
| `author` | string | `"Dolley Madison"` |  |
| `category` | string | `"general"` | Chosen section. |
| `quote_link` | string | `"https://www.brainyquote.com/quotes/dolley_madison_362393"` | Page for the quote. |
| `quote_text` | string | `"It is one of my sources of happiness never to desire a knowledge of other people's business."` |  |

**Example input**

```json
{}
```

**Example output**

```json
{
  "date": "2026-09-29",
  "author": "Dolley Madison",
  "category": "general",
  "quote_link": "https://www.brainyquote.com/quotes/dolley_madison_362393",
  "quote_text": "It is one of my sources of happiness never to desire a knowledge of other people's business."
}
```

### Get quotes by person

Operation `get_quotes_by_person`, version 1. 1 credit per call.

Get a person’s BrainyQuote description and quotes in page order, with topic tags and links. Up to 100 quotes; BrainyQuote may limit large requests.

**Input**

| Field | Type | Required | Example | Description |
|---|---|---|---|---|
| `person` | string | yes | `"Maya Angelou"` | Name of the person whose quotes you want, for example Maya Angelou. |
| `max_results` | integer | no | `20` | Maximum number of quotes to return, for example 20. |

**Input schema**

```json
{
  "type": "object",
  "required": [
    "person"
  ],
  "properties": {
    "person": {
      "type": "string",
      "description": "Name of the person whose quotes you want, for example Maya Angelou.",
      "examples": [
        "Maya Angelou",
        "Martin Luther King Jr."
      ]
    },
    "max_results": {
      "type": "integer",
      "default": 20,
      "maximum": 100,
      "minimum": 1,
      "description": "Maximum number of quotes to return, for example 20.",
      "x-fous-developer": true,
      "examples": [
        20,
        4,
        25
      ]
    }
  },
  "additionalProperties": false,
  "examples": [
    {
      "person": "Maya Angelou",
      "max_results": 20
    },
    {
      "person": "Martin Luther King Jr.",
      "max_results": 4
    },
    {
      "person": "Maya Angelou",
      "max_results": 25
    }
  ]
}
```

**Output**

| Field | Type | Example | Description |
|---|---|---|---|
| `person` | string | `"Maya Angelou"` | Person’s name as shown on BrainyQuote. |
| `quotes` | array |  |  |
| `quotes[].topics` | array |  |  |
| `quotes[].quote_link` | string | `"https://www.brainyquote.com/quotes/maya_angelou_101310"` |  |
| `quotes[].quote_text` | string | `"If you don't like something, change it. If you can't change it, change your attitude."` |  |
| `description` | string or null | `"American poet, author, and civil rights activist (1928–2014)."` | Short description of the person. |

**Example input**

```json
{
  "person": "Maya Angelou",
  "max_results": 20
}
```

**Example output**

```json
{
  "person": "Maya Angelou",
  "quotes": [
    {
      "topics": [
        "Change",
        "Attitude",
        "You"
      ],
      "quote_link": "https://www.brainyquote.com/quotes/maya_angelou_101310",
      "quote_text": "If you don't like something, change it. If you can't change it, change your attitude."
    },
    {
      "topics": [
        "Truth",
        "World",
        "Facts"
      ],
      "quote_link": "https://www.brainyquote.com/quotes/maya_angelou_125778",
      "quote_text": "There's a world of difference between truth and facts. Facts can obscure the truth."
    },
    {
      "topics": [
        "Love",
        "Hope",
        "Destination"
      ],
      "quote_link": "https://www.brainyquote.com/quotes/maya_angelou_389446",
      "quote_text": "Love recognizes no barriers. It jumps hurdles, leaps fences, penetrates walls to arrive at its destination full of hope."
    }
  ],
  "description": "American poet, author, and civil rights activist (1928–2014)."
}
```

### Search quotes by topic

Operation `search_quotes_by_topic`, version 1. 1 credit per call.

Find famous quotes on the closest matching BrainyQuote topic page, in displayed order. Short author descriptions are checked for the first 8 distinct authors; others may be unavailable.

**Input**

| Field | Type | Required | Example | Description |
|---|---|---|---|---|
| `topic` | string | yes | `"team work"` | A subject to find quotes about, such as leadership or team work. |
| `max_results` | integer | no | `4` | Maximum number of quotes to return, for example 20. |

**Input schema**

```json
{
  "type": "object",
  "required": [
    "topic"
  ],
  "properties": {
    "topic": {
      "type": "string",
      "minLength": 1,
      "description": "A subject to find quotes about, such as leadership or team work.",
      "examples": [
        "team work",
        "leadership",
        "teamwork"
      ]
    },
    "max_results": {
      "type": "integer",
      "default": 20,
      "maximum": 100,
      "minimum": 1,
      "description": "Maximum number of quotes to return, for example 20.",
      "x-fous-developer": true,
      "examples": [
        4,
        65,
        100
      ]
    }
  },
  "additionalProperties": false,
  "examples": [
    {
      "topic": "team work",
      "max_results": 4
    },
    {
      "topic": "leadership",
      "max_results": 65
    },
    {
      "topic": "teamwork",
      "max_results": 100
    }
  ]
}
```

**Output**

| Field | Type | Example | Description |
|---|---|---|---|
| `quotes` | array |  | Quotes in BrainyQuote topic-page order. |
| `quotes[].author` | string | `"Mattie Stepanek"` |  |
| `quotes[].quote_url` | string | `"https://www.brainyquote.com/quotes/mattie_stepanek_319300"` |  |
| `quotes[].quote_text` | string | `"Unity is strength... when there is teamwork and collaboration, wonderful things can be achieved."` |  |
| `quotes[].author_description` | string or null | `"American Poet"` |  |

**Example input**

```json
{
  "topic": "team work",
  "max_results": 4
}
```

**Example output**

```json
{
  "quotes": [
    {
      "author": "Mattie Stepanek",
      "quote_url": "https://www.brainyquote.com/quotes/mattie_stepanek_319300",
      "quote_text": "Unity is strength... when there is teamwork and collaboration, wonderful things can be achieved.",
      "author_description": "American Poet"
    },
    {
      "author": "Mike Krzyzewski",
      "quote_url": "https://www.brainyquote.com/quotes/mike_krzyzewski_295914",
      "quote_text": "To me, teamwork is the beauty of our sport, where you have five acting as one. You become selfless.",
      "author_description": "American Coach"
    },
    {
      "author": "Vince Lombardi",
      "quote_url": "https://www.brainyquote.com/quotes/vince_lombardi_151259",
      "quote_text": "Teamwork is what the Green Bay Packers were all about. They didn't do it for individual glory. They did it because they loved one another.",
      "author_description": "American Coach"
    }
  ]
}
```

## Quick start

Call the API with a Fous API key (`FOUS_API_KEY`). To create one, turn on Developer mode in Fous Studio, then open Keys & connections → API keys (https://app.fous.com/keys).

```bash
# First set your key: export FOUS_API_KEY='YOUR_FOUS_API_KEY'
: "${FOUS_API_KEY:?Set FOUS_API_KEY before running this example}"

curl 'https://api.fous.com/v1/query' \
  --fail-with-body --silent --show-error --max-time 120 \
  -H "Authorization: Bearer $FOUS_API_KEY" \
  -H 'Content-Type: application/json' \
  --data-raw '{
  "api": "@brainyquote",
  "visibility": "public",
  "operation": "get_quote_of_the_day",
  "version": 1,
  "input": {},
  "response": {
    "format": "json"
  }
}'
```

```python
# Save as fous.py and run with python3 fous.py. No packages needed.
# First set your key: export FOUS_API_KEY='YOUR_FOUS_API_KEY'
import json
import os
import urllib.error
import urllib.request

api_key = os.environ.get("FOUS_API_KEY")
if not api_key:
    raise RuntimeError("Set FOUS_API_KEY before running this example")

body = json.loads("{\n  \"api\": \"@brainyquote\",\n  \"visibility\": \"public\",\n  \"operation\": \"get_quote_of_the_day\",\n  \"version\": 1,\n  \"input\": {},\n  \"response\": {\n    \"format\": \"json\"\n  }\n}")
request = urllib.request.Request(
    "https://api.fous.com/v1/query",
    data=json.dumps(body).encode("utf-8"),
    headers={
        "Authorization": f"Bearer {api_key}",
        "Content-Type": "application/json",
    },
    method="POST",
)
try:
    with urllib.request.urlopen(request, timeout=120) as response:
        result = json.load(response)
except urllib.error.HTTPError as error:
    raise RuntimeError(f"HTTP {error.code}: {error.read().decode('utf-8', errors='replace')}") from error
if result.get("success") is False:
    raise RuntimeError(result.get("error", {}).get("message", "Request failed"))
print(json.dumps(result["data"]["output"], indent=2))
```

```typescript
// Save as fous.mts and run with npx tsx fous.mts.
// First set your key: export FOUS_API_KEY='YOUR_FOUS_API_KEY'
const apiKey = process.env.FOUS_API_KEY;
if (!apiKey) throw new Error("Set FOUS_API_KEY before running this example");

const response = await fetch("https://api.fous.com/v1/query", {
  method: "POST",
  headers: {
    "Authorization": `Bearer ${apiKey}`,
    "Content-Type": "application/json",
  },
  signal: AbortSignal.timeout(120_000),
  body: JSON.stringify({
  "api": "@brainyquote",
  "visibility": "public",
  "operation": "get_quote_of_the_day",
  "version": 1,
  "input": {},
  "response": {
    "format": "json"
  }
}),
});
type ApiResult = { success: boolean; data?: { output: unknown }; error?: { message: string } };
const result: ApiResult = await response.json();
if (!response.ok || result.success === false) {
  throw new Error(result.error?.message ?? `HTTP ${response.status}`);
}
if (!result.data) throw new Error("Missing API response data");
console.log(result.data.output);
```

Or describe the data in plain language: send `{"api":"@brainyquote","prompt":"Describe the data you need, with every detail"}` to the same URL. Fous fills in the input, runs the method that fits and returns only the fields you asked for; `data.route.calls[].request` is the exact call it made. Routing is free; the run costs the same.

## Use cases

- Find quotes about a subject for presentations.
- Collect a person's quotes and topic tags.
- Display a daily quote for a chosen category.

## FAQ

### Is Fous affiliated with BrainyQuote?

No. Fous is not affiliated with BrainyQuote. This workflow reads the public brainyquote.com website and returns its data.

### How much does it cost?

Each run costs 1 credit. With pay-as-you-go, a credit costs 1¢; monthly plans cost less per credit.

### Do I need a BrainyQuote account?

No. You only need a Fous account.

### How current is the data?

Fous gets the data from brainyquote.com when you run it; repeating the same request within a day may return the saved result. Fous checks this workflow automatically; it last passed a check on Sep 29, 2026.

### How can I find quotes about a topic?

Use Search quotes by topic with a subject such as leadership or team work.

### How can I get quotes from a person?

Use Get quotes by person with the person's name.

### How can I get today's quote in a category?

Use Get quote of the day with a daily category.

## Related

- [Wikiquote API](https://fous.com/workflows/wikiquote.md): Quotations with context and attribution from Wikiquote.
- [Goodreads API](https://fous.com/workflows/goodreads.md): Goodreads returns public book searches, matched-book details with variable editions, popular or newest reviews, author books by popularity or date, and up to 100 quotes.
- [Poetry Foundation API](https://fous.com/workflows/poetry-foundation.md): Poetry Foundation provides poems, poets, and poetry resources; poem searches follow its search order, while full text is limited to publicly available poems.
- [Britannica API](https://fous.com/workflows/britannica.md): Britannica returns public encyclopedia articles with introductions, quick facts, headings, update dates and images, plus search results with titles, descriptions, links and images when shown.
- [Wikipedia API](https://fous.com/workflows/wikipedia.md): Wikipedia returns article summaries, images, facts, relevant search matches, readable text and daily historical events, plus human-view counts from July 2015 onward.
- [Bible Gateway API](https://fous.com/workflows/bible-gateway.md): Bible Gateway provides passage readings up to one chapter, searches returning up to 100 related verses, and a daily verse that may differ by date or translation availability.
- [Merriam-Webster API](https://fous.com/workflows/merriam-webster.md): Merriam-Webster provides definitions, pronunciations, examples, word histories, synonyms, antonyms, and related words for publicly listed entries, plus Word of the Day entries for today or published archive dates.
- [Horoscope.com API](https://fous.com/workflows/horoscope-com.md): Daily horoscopes and zodiac sign readings.
- [All Education workflows](https://fous.com/workflows/category/education)
