NYTimesArticleAPI
is a Python wrapper for the New York Times Article Search API. Based on the excellent requests
package, it provides full support for all of the API's search parameters, and also allows access to the request object itself for debugging purposes.
With pip:
$ pip install NYTimesArticleAPI
NYTimesArticleAPI requires the requests
and setuptools
packages.
Simply import and initialize the API with your developer key:
>>> from NYTimesArticleAPI import articleAPI
>>> api = articleAPI("YourAPIKey")
Then call the search
function with your desired search parameters/values:
>>> articles = api.search(q="Obama",
fq={"headline": "Obama",
"source": ["Reuters",
"AP",
"The New York Times"]},
begin_date="20161001", # this can also be an int
facet_field=["source", "day_of_week"],
facet_filter=True)
The search function returns a Python dictionary of the search results.
You can specify multiple filters by using a dictionary::
>>> fq = {"headline": "Obama", "source": ["Reuters", "AP", "The New York Times"]}
>>> articles = api.search(q="Obama", fq=fq)
And multiple values by using a list::
>>> facet_field = ["source", "day_of_week"]
>>> articles = api.search(q="Obama", facet_field=facet_field)
More examples:
# simple search
>>> articles = api.search(q="Obama")
# search between specific dates
>>> articles = api.search(q="Obama", begin_date="20161001", end_date="20161020", page=2)
# access most recent request object
>>> headers = api.req.headers
For a complete overview of the available search parameters, please refer to the NYTimes Article Search API Documentation.
This package was originally written by Evan Sherlock as nytimesarticle
. It has since been forked and updated by Matt Morrison, and subsequently released as NyTimesArticleAPI
, with contributions from Gerald Spencer and Andrew Han.
© 2016 Matt Morrison [email protected].
This is free software. It is licensed under the MIT License. Feel free to use this in your own work. However, if you modify and/or redistribute it, please attribute me in some way, and distribute your work under this or a similar license. A shout-out or a beer would be appreciated.
You can support development of this project on Gratipay.