やってみる

アウトプットすべく己を導くためのブログ。その試行錯誤すらたれ流す。

RapidApiのContextualWebSearchはクレカ登録しないと使えない

 RapidApiは楽天が運用しているWebAPIマーケットプレイス

成果物

rapidapi

料金プラン

種類 クレジットカード登録 価格
無料API 不要 無料
フリーミアムAPI 必要 定量までは無料だが、それ以降は有料
有料API 必要 有料

 フリーミアムとそのリスクについては前回調べ考えた。

rapidapi ContextualWebSearchのリスク

 ニュース取得APIを見てみると「フリーミアムAPI」だった。つまり先述のリスクを犯さねば使えない……。

  • 価格
    • フリーミアム
      • 10000/月 それ以降は0.0005ドルとある。つまり有料
      • クレカ登録のリスクを犯す必要がある

API詳細がわからない

  • API詳細にはソースコードがあるだけで、引数の詳しい説明がない
    • pageSizeの上限値が不明
    • qが必須なのか不明
    • カテゴリがない

メリット

 クレカ登録さえしなければリスクは少ないはず。そして無料APIだけならリクエスト制限の範囲内で使えるだろう。

 だが、その前に、やりたかったニュースAPIが使えないことを確認しておく。

使えないことを確認

rapidapi ContextualWebSearch

ContextualWebSearch.py

import requests

def get_news(api_key ):
    url = "https://contextualwebsearch-websearch-v1.p.rapidapi.com/api/Search/NewsSearchAPI"
    querystring = {
        "autoCorrect":"false",
        "pageNumber":"1",
        "pageSize":"100",
        "safeSearch":"false"
    }
    headers = {
        'x-rapidapi-host': "contextualwebsearch-websearch-v1.p.rapidapi.com",
        'x-rapidapi-key': api_key
    }
    response = requests.request("GET", url, headers=headers, params=querystring)
#    print(response.text)
    return response.text
def run():
    try:
        out_file = '/tmp/work/contextualwebsearch_news.json'
        api_key = None
        with open('/home/pi/root/work/record/pc/account/rapidapikey', mode='r') as f:
            api_key = f.read().strip();
#        print(api_key)
        with open(out_file , mode='x', encoding='utf-8') as f:
            f.write(get_news(api_key));
    except FileExistsError: print('出力ファイルが既存のため中止する。\n' + out_file)

run()
cat /tmp/work/contextualwebsearch_news.json
{"message":"You are not subscribed to this API."}

 APIキーは所定のファイルに保存してある。

 APIが使えないことを確認できた。価格のページでベーシックプランをsubscribedすれば使えるようになるのだろう。だが、先述の通りクレカ登録のリスクを犯さねばならないため、絶対にやらない。 

解約できない

 rapidapiアカウントを持っているだけで恐い。解約するにはどうすればいいのか?

 わからない。解約、退会をどうやればいいかわからない。どこにそのリンクがあるのか……。

 きっと小さくわかりづらいところにあるのだろう。意図的に。そういうのやめて。アカウントを作るのは簡単だったのに。逃さないってこと?

対象環境

$ uname -a
Linux raspberrypi 4.19.42-v7+ #1218 SMP Tue May 14 00:48:17 BST 2019 armv7l GNU/Linux