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 Philosopher
s.
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
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.