An API for the Aeneid by Virgil

Last updated: 2014-09-22


All methods are GET requests.

Methods return data in JSON format.

Click on a method URL to see a sample response.

Returns a list of available versions with a URL for each version’s method.{name}

Returns information about a particular version.{name}/{book}

Returns information about a book for a particular version. Use an integer to specify the book.{name}/{book}/{line}

Returns the given line for that book and version. Use integers to specify the book and line.

Practice sortes Virgilianae. Returns a random section of Virgil’s Aeneid.

Accepts the following arguments:

Argument Type Notes
version text Receive sortes Virgilianae from a different version of the Aeneid, such as the original latin. See the /versions method for a list of available versions.
lines integer Specify how many lines to receive. Max: 10
book integer Receive sortes Virgilianae from a particular book of the Aeneid. Max: 12

Without arguments, this method returns one line from a randomly chosen book of John Dryden’s translation of the Aeneid.

Perform a text search upon a particular verison of the Aeneid.

Takes the following arguments (shaded arguments are required):

Argument Type Notes
version text Specify which version to search. You may only search one version per query. See the /versions method for a list of available versions.
query text Returns lines where the search word appears. All searches are case insensitive.

Queries may use the following syntax:

Type Example Notes
single word aeneas Returns lines that contain the word. All searches are case insensitive.
multiple words aeneas+death Returns lines where all words appear, in any order and in any position. Separate words with a plus sign.
exact phrase "aeneas stood" 'aeneas+stood' Returns lines where an exact phrase appears. Surround the phrase in single or double quotation marks. Separate words in the phrase with a plus sign or a space.
starts with aene* Returns lines with words that start with a string of letters. Use an asterix at the end of the string.

Query types may be combined in a single search. Join each type with a plus sign. For example:'aeneas+mourns'+fat*

Rate limits

API requests are limited to one call per user per second.

The error code 429 (Too Many Requests) is returned for more frequent requests.


If a request fails, a 404 response is returned with a JSON message.

A 429 response (Too Many Requests), also with a JSON message, is returned when clients break the rate limits.


Please send questions and comments to Thank you.