От NASA до Spotify: 5 крутых бесплатных API 2022 года
Программные интерфейсы приложений (Application Programming Interfaces), чаще называемые API — важный инструмент, на котором работают многие приложения и сайты.
По сути, эти компоненты работают «за кулисами», чтобы разрешить авторизованным приложениям (а в некоторых случаях и отдельным пользователям) доступ к данным и возможность взаимодействовать с внешними службами.
К счастью для разработчиков, существует множество бесплатных и многоуровневых API, которые можно интегрировать в собственные приложения.
Разработчик Майк Вулф решил изучить пять API и посмотреть, что они могут предложить.
1NASA Open APIs
Открытые API-интерфейсы NASA — это набор из более чем дюжины API-интерфейсов, которые предоставляют тонны информации о погоде, спутниковой информации, изображений и т. д.
После того, как вы получили бесплатный ключ авторизации, вы получите ограничение до 1000 запросов в час.
Одно любимых API Майка в этой коллекции — Astronomy Picture of the Day.
Приступим:
import requests url = "https://api.nasa.gov/planetary/apod?api_key=<YOUR_API_KEY>" response = requests.get(url) print(response.json())
2API Open Library
Еще одна бесплатная коллекция API — Open Library APIs. Эта коллекция позволяет искать все, что связано с книгами. Она даже помогает находить книги, авторов, темы (и не только), используя названия, ISBN, OCLC и LCCN.
Вы даже можете искать текст!
Приступим:
import urllib import requests query = "The Pragmatic Programmer" query = urllib.parse.quote_plus(query) url = f"http://openlibrary.org/search.json?title={query}" response = requests.get(url) print(response.json())
3Coin API
Coin API не полностью бесплатный, но у него есть бесплатная версия, которую вы можете использовать, чтобы узнать последние рыночные данные по криптовалютам.
В бесплатной версии ваш лимит — всего 100 запросов в день.
Начнем:
import requests url = "https://rest.coinapi.io/v1/exchangerate/BTC/USD" headers = {"X-CoinAPI-Key" : "<YOUR_API_KEY>"} response = requests.get(url, headers = headers) print(response.json())
4News API
Еще один API, который тоже не полностью бесплатный, но с бесплатным уровнем — это News API.
Этот замечательный инструмент помогает получать новости из авторитетных СМИ и блогов. Опять же, если вы решите использовать бесплатную версию, то получите ограничения по количеству запросов, которые вы можете отправить, а также не сможете получать новые статьи в режиме реального времени.
Приступим:
import requests url = "https://newsapi.org/v2/everything?q=cryptocurrency&apiKey=<YOUR_API_KEY>" response = requests.get(url) print(response.json())
5Spotify API
Хотите улучшить свои впечатления от Spotify? Не ищите дальше, потому что у них тоже есть API. Получение client id и app secret для вашего приложения займет всего несколько минут.
Теперь вы можете использовать множество эндпоинтов для получения информации об исполнителях, альбомах и т. д. Мало того, вы также можете добавлять/удалять/обновлять элементы в своих плейлистах.
Для всех разработчиков Python есть модуль Spotipy, который еще больше упрощает взаимодействие с Spotify API.
Погнали:
import requests import spotipy from spotipy.oauth2 import SpotifyClientCredentials client_id = "<YOUR_CLIENT_ID>" client_secret = "<YOUR_CLIENT_SECRET>" client_credentials_manager = SpotifyClientCredentials(client_id = client_id, client_secret = client_secret) spot = spotipy.Spotify(client_credentials_manager = client_credentials_manager) query = "1812 Overture" search_result = spot.search(query, limit = 10, offset = 0, type = 'track', market = None) print(search_result)
Бонус: Bored API
Цель этого Bored API — предложить вам занятие, если вам скучно:
import requests url = "https://www.boredapi.com/api/activity/" response = requests.get(url) print(response.json())
Удачи!
Сообщить об опечатке
Текст, который будет отправлен нашим редакторам: