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:
{
"id": "44C03561-50DB-4AC2-B567-97636CFC4E59",
"iepLink": "https://www.iep.utm.edu/sartre-ex/",
"school": "Existentialism",
"life": "(1905-1980)",
"birthDate": "21 June 1905",
"deathYear": "1980 AD",
"wikiTitle": "Jean-Paul Sartre",
"hasEBooks": true,
"libriVoxIDs": [],
"libriVoxGetRequestLinks": [],
"speLink": "https://plato.stanford.edu/entries/sartre/",
"birthYear": "1905 AD",
"username": "@nauseous",
"images": { ... },
"interests": "Metaphysics, Epistemology, Ethics, Consciousness, Self-Consciousness, Literature, Political Philosophy, Ontology",
"deathDate": "15 April 1980",
"name": "Jean-Paul Sartre"
}/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.
All endpoint responses include a set of paths for various images of a given philosopher.
Sample Images:
...
"images": {
"illustrations": {
"ill500x500": "/Images/Jeremy-Bentham-Ill@2x.png",
"ill250x250": "/Images/Jeremy-Bentham-Ill.png",
"ill750x750": "/Images/Jeremy-Bentham-Ill@3x.png"
},
"thumbnailIllustrations": {
"thumbnailIll150x150": "/Images/Jeremy-Bentham-Ill-small@3x.png",
"thumbnailIll50x50": "/Images/Jeremy-Bentham-Ill-small.png",
"thumbnailIll100x100": "/Images/Jeremy-Bentham-Ill-small@2x.png"
},
"faceImages": {
"face500x500": "/Images/Jeremy-BenthamFace@2x.jpg",
"face750x750": "/Images/Jeremy-BenthamFace@3x.jpg",
"face250x250": "/Images/Jeremy-BenthamFace.jpg"
},
"fullImages": {
"full840x1120": "/Images/Jeremy-BenthamFull-iPhone@2x.jpg",
"full420x560": "/Images/Jeremy-BenthamFull-iPhone.jpg",
"full1260x1680": "/Images/Jeremy-BenthamFull-iPhone@3x.jpg",
"full600x800": "/Images/Jeremy-BenthamFull.jpg",
"full1200x1600": "/Images/Jeremy-BenthamFull@2x.jpg"
}
}
...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.
Sample Philosopher Details:
{
"iepLink": "https://www.iep.utm.edu/plato/",
"life": "(c.427-c.347 BCE)",
"hasEBooks": true,
...
}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
ebooksfield 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.