Logo
Contact
Philosophers API

Philosophers API is the public API that powers the Philosophers iOS app. Through the API you can get a host of information about famous philosophers, famous quotes, public domain ebooks, key ideas, and even AR assets.


In addition to the REST API discussed below Philosophers API has a graphQL interface that allows you to query the data in a more powerful way. Use the graphQL playground to explore the data and query it.


The API is comprised of five top-level objects: Philosopher, Quote, Category, Key Idea, and AR Object. It's perhaps apt to start with Philosophers.


Sample Philosopher:


{
    "birthDate": "21 June 1905",
    "birthYear": "1905 AD",
    "deathDate": "15 April 1980",
    "deathYear": "1980 AD",
    "hasEBooks": true,
    "id": "5C4140C8-E55F-42D3-A1A6-952D31F524F9",
    "iepLink": "https://www.iep.utm.edu/sartre-ex/",
    "images": { ... },
    "interests": "Metaphysics, Epistemology, Ethics, Consciousness, Self-Consciousness, Literature, Political Philosophy, Ontology",
    "libriVoxGetRequestLinks": [],
    "libriVoxIDs": [],
    "life": "(1905-1980)",
    "name": "Jean-Paul Sartre",
    "school": "Existentialism",
    "speLink": "https://plato.stanford.edu/entries/sartre/",
    "username": "@nauseous",
    "wikiTitle": "Jean-Paul Sartre"
}

Endpoints
/api/philosophers
- Gets a list of all philosophers sorted by name.

/api/philosophers/search?keyword=<# keyword #>
- List of all philosophers matching search

/api/philosophers/<# philosopher id #>
- Gets details of a philosopher including famous quotes, birth location, major works, key ideas, and associated AR objects.

/api/philosophers/name/<# philosopher's name #>
- Gets details of a philosopher including famous quotes, birth location, major works, key ideas, and associated AR objects based on a passed-in name (e.g., "Plato", "John+Locke", etc.).

/api/philosophers/ebooks/<# philosopher id #>
- Gets a list of public domain ebooks from Project Gutenberg from a given philosopher id, with download links and cover art (see Book Covers below), along with the philosopher's LibriVox audiobooks.

All endpoint responses include a set of paths for various images of a given philosopher.


Sample Images:


...
"images": {
    "faceImages": {
        "face250x250": "/Images/Jeremy-BenthamFace.jpg",
        "face500x500": "/Images/Jeremy-BenthamFace@2x.jpg",
        "face750x750": "/Images/Jeremy-BenthamFace@3x.jpg"
    },
    "fullImages": {
        "full1200x1600": "/Images/Jeremy-BenthamFull@2x.jpg",
        "full1260x1680": "/Images/Jeremy-BenthamFull-iPhone@3x.jpg",
        "full420x560": "/Images/Jeremy-BenthamFull-iPhone.jpg",
        "full600x800": "/Images/Jeremy-BenthamFull.jpg",
        "full840x1120": "/Images/Jeremy-BenthamFull-iPhone@2x.jpg"
    },
    "illustrations": {
        "ill250x250": "/Images/Jeremy-Bentham-Ill.png",
        "ill500x500": "/Images/Jeremy-Bentham-Ill@2x.png",
        "ill750x750": "/Images/Jeremy-Bentham-Ill@3x.png"
    },
    "thumbnailIllustrations": {
        "thumbnailIll100x100": "/Images/Jeremy-Bentham-Ill-small@2x.png",
        "thumbnailIll150x150": "/Images/Jeremy-Bentham-Ill-small@3x.png",
        "thumbnailIll50x50": "/Images/Jeremy-Bentham-Ill-small.png"
    }
}
...

Where illustrations and thumbnailIllustrations are flat-style avatar drawings. And faceImages and fullImages are photographs or artistic works depicting the philosopher. For example, https://philosophersapi.com/Images/Jeremy-BenthamFace@2x.jpg is a 500px by 500px image of Jeremy Bentham cropped to his face.


Book Covers:


Ebooks come with original cover art made for Philosophers. In each book's formats, image/jpeg is the full-size cover (1792px by 2688px) and thumbnail is a 600px-wide copy for lists. In the graphQL interface these are the image and thumbnail fields of formats. Covers are still being added, so books without one yet leave both out.


Sample Ebook:


...
"ebooks": [
    {
        "authors": [
            {
                "birthYear": -428,
                "deathYear": -348,
                "name": "Plato"
            }
        ],
        "formats": {
            "application/epub+zip": "https://www.gutenberg.org/ebooks/1497.epub.images",
            "image/jpeg": "https://philosophersapi.com/Images/Gutenberg/1497.jpg",
            "text/plain": "https://www.gutenberg.org/ebooks/1497.txt.utf-8",
            "thumbnail": "https://philosophersapi.com/Images/Gutenberg/Thumbnails/600/1497.jpg",
            ...
        },
        "id": 1497,
        "title": "The Republic",
        ...
    },
    ...
],
"librivoxAudiobooks": [
    {
        "coverArtPath": "/Images/LibriVox/2707.jpg",
        "getRequestURL": "https://librivox.org/api/feed/audiobooks/?id=2707&extended=1&format=json",
        "id": "2707"
    },
    ...
]
...

Thumbnails are also available 200px and 400px wide, at /Images/Gutenberg/Thumbnails/<# width #>/<# book id #>.jpg. For example, https://philosophersapi.com/Images/Gutenberg/Thumbnails/400/1497.jpg is a 400px-wide cover for Plato's Republic. LibriVox audiobook covers are at /Images/LibriVox/<# audiobook id #>.jpg, the coverArtPath of each of the ebook endpoint's librivoxAudiobooks.


Details

Sample Philosopher Details:


{
    "hasEBooks": true,
    "iepLink": "https://www.iep.utm.edu/plato/",
    "life": "(c.427-c.347 BCE)",
    ...
}
id
- UUID that identifies a philosopher
name
- The name of the philosopher as a string
username
- Fake username used by philosophers app to construct a Twitter-like UI as a string
birthYear
- String of the year the philosopher was born given in date format of "y G"
deathYear
- Optional string of the year the philosopher died given in date format of "y G"
birthDate
- Optional string of the day the philosopher was born given in date format of "d MMMM y"
deathDate
- Optional string of the day the philosopher died given in date format of "d MMMM y"
interests
- String with comma seperated values of philosophical interests of the philosopher
school
- Optional string of the larger school of thought the philosopher is associated with
life
- String representation of the lifespan of the philosopher
topicalDescription
- Optional string description of contemporary relavence of philosopher
speLink
- Optional URL to Stanford Encyclopedia of Philosophy article about the philosopher
iepLink
- Optional URL to Internet Encyclopedia of Philosophy article about the philosopher
wikiTitle
- String of the title to the Wikipedia article about the philosopher. URLs can be constructed as https://en.wikipedia.org/wiki/<# wikiTitle #>
hasEBooks
- Boolean that can be used to determine if ebook endpoint's ebooks field will be non-empty
images
- Dictionary with image paths for various images, see above
libriVoxIDs
- Array of string representations of librivox audiobook IDs
libriVoxGetRequestLinks
- Array of URLs for librivox audiobook metadata GET requests (for example https://librivox.org/api/feed/audiobooks/?id=10190&extended=1&format=json will give you metadata about Rousseau's "Ăˆmile" in audiobook form).
quotes
- Array of Quote's. That represent famous quotes of the philosopher. See more here.
birthLocation
- Dictionary that represent the birth location of the philosopher. name - is the common name of the location. latitude, longitude - decimal coordinates of the location. id - unique id of the location. philosopherID - the id of the associated philosopher.
works
- Array of dictionaries that represent major works of the philosopher. title - the title of the work. id - unique id of the work. link - a optional URL to either iBook store or Amazon for the given work. philosopherID - the id of the associated philosopher.
keyIdeas
- Array of KeyIdea's. That represent important ideas of the philosopher. See more here.
arObjects
- Array of ARObject's. That represent metadata about ar assets associated with the philosopher. See more here.

App Store
TwitterInstagram
HOME | QUOTES | CATEGORIES | KEY IDEAS | AR OBJECTS | GRAPHQL