openapi: 3.0.3
info:
title: Numbers Date Math API
description: 'Free REST API providing interesting mathematical facts, trivia, dates, and year facts about numbers for educational and fun applications. Returns short, readable facts about any number or date across four categories: trivia, mathematical properties, notable years, and day-of-year historical events. No authentication or API key required.
'
version: 1.0.0
contact:
url: http://numbersapi.com
license:
name: MIT
servers:
- url: http://numbersapi.com
description: Numbers API production server
tags:
- name: Math
paths:
/{number}/math:
get:
operationId: getMathFact
summary: Get a mathematical fact about a number
description: 'Returns an interesting mathematical property or fact about the specified number.
'
parameters:
- $ref: '#/components/parameters/number'
- $ref: '#/components/parameters/json'
- $ref: '#/components/parameters/fragment'
- $ref: '#/components/parameters/notfound'
- $ref: '#/components/parameters/default'
- $ref: '#/components/parameters/min'
- $ref: '#/components/parameters/max'
- $ref: '#/components/parameters/callback'
responses:
'200':
description: A mathematical fact about the requested number (plain text or JSON)
content:
text/plain:
schema:
type: string
example: 42 is the 5th Catalan number.
application/json:
schema:
$ref: '#/components/schemas/NumberFact'
tags:
- Math
components:
parameters:
callback:
name: callback
in: query
required: false
description: '(Deprecated) JSONP callback function name. The response will be wrapped in a call to this function.
'
schema:
type: string
deprecated: true
min:
name: min
in: query
required: false
description: 'Minimum value for random number generation. Used with `random` number to constrain the range.
'
schema:
type: integer
max:
name: max
in: query
required: false
description: 'Maximum value for random number generation. Used with `random` number to constrain the range.
'
schema:
type: integer
notfound:
name: notfound
in: query
required: false
description: 'What to do if the number is not found. Options: `default` (return a pre-written missing message), `floor` (round down to the largest number with a fact), `ceil` (round up to the smallest number with a fact).
'
schema:
type: string
enum:
- default
- floor
- ceil
default: default
fragment:
name: fragment
in: query
required: false
description: 'Return the fact as a sentence fragment that can be easily included as part of a larger sentence. The first word is lowercase and ending punctuation is omitted.
'
schema:
type: boolean
number:
name: number
in: path
required: true
description: 'An integer, the keyword `random`, a day of year in the form `month/day` (for date type), or a range like `1..10` or comma-separated values like `1,2,3` for batch requests.
'
schema:
type: string
example: '42'
json:
name: json
in: query
required: false
description: 'Return the fact and associated metadata as a JSON object instead of plain text. Can also be triggered by setting the Accept or Content-Type header to application/json.
'
schema:
type: boolean
default:
name: default
in: query
required: false
description: 'A custom message to return if no fact is found for the requested number. Used in conjunction with `notfound=default`.
'
schema:
type: string
schemas:
NumberFact:
type: object
description: A fact about a number with associated metadata
required:
- text
- found
- number
- type
properties:
text:
type: string
description: The fact text itself
example: 42 is the result given by Google and Bing for the query "the answer to life the universe and everything".
found:
type: boolean
description: Whether a fact was found for the requested number
example: true
number:
type: number
description: The number that the fact pertains to
example: 42
type:
type: string
description: The category of the returned fact
enum:
- trivia
- math
- year
- date
example: trivia