본문 바로가기
Medium Review

[Medium] 2022년에 사용할 5가지 API(5 Really Cool APIs to Use in 2022)

by daewooki 2022. 3. 26.
반응형

최근 너무 바빠 블로그를 작성하지 못했다.. 

아직 많이 바쁘지만.. 오래간만에 미디엄 리뷰 먼저 진행하고자 한다.

 

개발자에게 애플리케이션에 적용할 수 있는 무료 API가 많이 있는데 이 중 5개를 선정하여 설명한다.

 

5 Really Cool APIs to Use in 2022

Everything from NASA to cryptocurrencies and more…

python.plainenglish.io

1. NASA 오픈 API

NASA Open API 는 수많은 행성의 날씨 정보, 위성 정보 사진 등을 제공한다. 무료 인증 키를 얻은 후에 요청할 수 있다.

다만, 시간당 1,000개 요청으로 제한된다. 

 

API 발급은 매우 쉽다.  사이트에 들어가서 3가지 항목(이름, 성, 메일)만 입력하면 바로 키가 발급된다. 

API 키를 발급받은 후에 천문학 사진을 요청해보았다. 

1
2
3
4
import requests
url = "https://api.nasa.gov/planetary/apod?api_key=<YOUR_API_KEY>"
response = requests.get(url)
print(response.json())
cs

 

결과

response에 url을 전달해준다. 해당 url에서 이미지를 확인해볼 수 있다. 

explanation에서 해설도 확인할 수 있다. 소행성인 명왕성의 천문학 이미지이다. 

다른 것도 확인해보면 좋을 것 같다.

 

2. Open Library APIs

책과 관련된 모든 것을 검색할 수 있다. 또한 이름, ISBN, OCLC, LCCN을 이용해서 책, 저자, 주제 등 여러 가지 방법으로 찾을 수 있다. 책의 텍스트도 검색할 수 있다. 

 

코드

1
2
3
4
5
6
7
import urllib
import requests
query = "machine learning"
query = urllib.parse.quote_plus(query)
url = f"http://openlibrary.org/search.json?title={query}"
response = requests.get(url)
print(response.json())
cs

실행결과

키워드를 "machine learning"으로 하여  책을 검색해보았다. 

Machine Learning과 관련된 책들이 쭉 나온다. 보기는 어렵기 때문에 pandas를 이용해서 보는게 좋다.

 

3. Coin API

Coin API 는 완전 무료는 아니다. 암호화폐에 대한 최신 시장 데이터를 얻을 수 있다. 무료 버전은 하루에 100개의 요청까지 가능하다. 금액을 지불하여 유료버전으로 업그레이드하여 더 많이 사용할 수 있긴 하다. 

요청 코드

1
2
3
4
5
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())
cs

 

응답 결과(확대해서 보세요)

 

4. News API

News API 도 완전히 무료는 아니다. 

이 API를 이용하면 평판이 좋은 뉴스와 블로그에서 좋은 뉴스 기사를 얻을 수 있다. 유료 버전을 사용하면 요청 수 제한이 풀리고 실시간으로 새 기사도 얻을 수 있다. 

1
2
3
4
import requests
url = "https://newsapi.org/v2/everything?q=cryptocurrency&apiKey=<YOUR_API_KEY>"
response = requests.get(url)
print(response.json())
cs

 

5. Spotify API

요새 핫한 Spotify 에서 API를 제공한다.

애플리케이션의 클라이언트 ID와 비밀번호를 얻으면 아티스트, 앨범 등에 대한 정보를 얻을 수 있다. 뿐만 아니라 재생 목록에 항목을 추가/삭제/업데이트할 수 있습니다. Python 개발자를 위해 Spotify API 와 더 쉽게 상호 작용할 수 있는 Spotipy 모듈도 제공한다.

 

1
2
3
4
5
6
7
8
9
10
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)
cs

 

보너스: The Bored API

마지막으로 Bored API 가 있습니다. 간단히 말해서 이 재미있는 API의 목적은 지루할 때 할 수 있는 활동을 제안한다.

1
2
3
4
import requests
url = "https://www.boredapi.com/api/activity/"
response = requests.get(url)
print(response.json())
cs

실행 결과

낚시를 가라 하기도 하고, 새로운 스포츠를 배우라고 알려주기도 한다. ㅋㅋ

 

 

마무리하며

개인적으로 NASA 천문학 사진을 볼 수 있는 NASA API가 재미있었다. 

완전히 무료가 아닌 것들은 어쩔 수 없지만 활용해볼 수 있는 API는 많은 것 같다. 

예를 들면, News API를 이용해서 뉴스 데이터 수집을 해서 자연어처리를 할 수도 있을 것이다.

좋은 무료 API를 찾게 된다면 서비스를 개발해볼 수도 있을 것 같다. 

반응형

댓글