Skip to main content
Donate to the Python Software Foundation or Purchase a PyCharm License to Benefit the PSF! Donate Now

Python wrapper for the New York Times Article Search API

Project description

yanytapi

yanytapi 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.

Installation

With pip:

$ pip install yanytapi

Dependencies

yanytapi requires the requests package.

Usage

Simply import and initialize the API with your developer key:

>>> from yanytapi import SearchAPI
>>> api = SearchAPI("YourAPIKey")

Then call the search function with your desired search parameters/values:

>>> articles = api.search("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 an iterator of Doc's with the following fields:

[
  "_id",
  "blog",
  "byline",
  "document_type",
  "headline",
  "keywords",
  "lead_paragraph",
  "meta",
  "multimedia",
  "news_desk",
  "pub_date",
  "score",
  "section_name",
  "snippet",
  "source",
  "subsectoinName",
  "type_of_material",
  "uri",
  "web_url",
  "word_count"
]

You can specify multiple filters by using a dictionary::

>>> fq = {"headline": "Obama", "source": ["Reuters", "AP", "The New York Times"]}
>>> articles = api.search("Obama", fq=fq)

And multiple values by using a list::

>>> facet_field = ["source", "day_of_week"]
>>> articles = api.search("Obama", facet_field=facet_field)

More examples:

# simple search
>>> articles = api.search("Obama")
# search between specific dates
>>> articles = api.search("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.

History

This package was originally written by Evan Sherlock as nytimesarticle. It was subsequently forked and updated by Matt Morrison, and subsequently released as NYTimesArticleAPI, with contributions from Gerald Spencer and Andrew Han. yanytapi is a third iteration of forking focused mainly on packaging improvements, now maintained by Ed Kohlwey.

License

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.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Filename, size & hash SHA256 hash help File type Python version Upload date
yanytapi-2.0.0-py2.py3-none-any.whl (6.7 kB) Copy SHA256 hash SHA256 Wheel py2.py3
yanytapi-2.0.0.tar.gz (7.1 kB) Copy SHA256 hash SHA256 Source None

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page