AIハッカソンに参加していると、何度も耳にする言葉がある。
「API」。
もちろん、今までにも何度も聞いたことがあるし、自分でもAIを使ってアプリを作っている。
でも、APIって何? と聞かれたら、ちゃんと説明できるかというと、ちょっと怪しい(笑)。
何かと何かをつなぐ、コネクタみたいなものかな?
そんな感じで理解していた。
10月17日(土)に参加した「Tokyo Agent Hackathon – 東京エージェントハッカソン」でも、APIという言葉は何度も登場した。
翌日の打ち合わせで、AmazonのAPIが話題に!
今度は別のAIハッカソン(Vietnam Japan AI Hackathon 2026)のチームメンバーと、開発中のAIアプリについて打ち合わせをしていた。
そこで話題になったのが、Amazonセラーセントラルと外部アプリとのAPI連携。
これは、私にとってはなじみのある世界。
Amazonで商品を販売しているので、商品情報、在庫、価格、注文など、日々いろいろなデータを扱っている。
でも、それらの情報を外部のアプリから直接利用できるかどうかは、また別の話。
Amazonには、出品者向けのSelling Partner API、略してSP-APIという仕組みがある。
対応するAPIを使えば、注文情報や在庫情報を取得したり、出品情報を管理したりすることができる。
もちろん、すべての操作が自由にできるわけではない。
利用する機能や権限、Amazon側の仕様によって、できることとできないことが決まっている。
そこで私たちは、どんな操作がAPIでできるのかを話し合っていた。
そして、ちょっと面白い話になった。
Repacking? それはAPIだけではできないよね!(笑)
話題に出てきたのが、RepackingやRepackaging。
再梱包や再包装のこと。
商品を箱から出して、別の箱に入れ直すような作業だ。
そりゃ、APIそのものが商品を取り出して、箱を詰め直してくれるわけじゃないよね!
二人でちょっと笑ってしまった。
もちろん、倉庫のシステムと連携して、再梱包の作業指示を送るような仕組みは考えられる。
でも、データをやり取りすることと、実際に商品を手で扱うことは別。
APIがあれば何でも自動化できるというわけではないんだね。
なんだか当たり前の話だけど、こういう身近な例で考えると、APIの役割が分かりやすくなる。
そして、APIでどんな操作ができるかは、サービスごとに確認する必要があるということも分かった。
APIって、結局何なの?
APIは「Application Programming Interface」の略。
うーん、正式名称を聞いても、初心者の私にはあまりピンとこない(笑)。
簡単に言うと、ソフトウェア同士が情報や機能をやり取りするときの窓口やルールのこと。
例えば、私が自分で作ったアプリに、Amazonの在庫情報を表示したいとする。
その場合、アプリからAmazonの対応するAPIに「在庫情報を教えて」とリクエストを送り、必要な権限があればデータを受け取れる。
そして、受け取ったデータを自分のアプリの画面に表示する。
つまり、こんな流れ。
自分のアプリ → APIを通じてリクエスト → Amazon側のシステム → データが返ってくる → 自分のアプリに表示
なるほど!
これなら、なんとなく理解できる。
私が思っていた「コネクタみたいなもの」というイメージも、そんなに遠くはなかったみたい。
ただし、厳密にはAPIとコネクタは同じものではない。
APIは、ソフトウェアが外部とやり取りするための仕組み。
コネクタは、そのAPIなどを利用して、異なるサービスを実際につなぐためのツールや仕組みを指すことが多い。
ちょっと違うんだね。
そういえば、APIキーって何?
APIという言葉と一緒に、よく聞くものがもう一つある。
「APIキー」。
これも、AIツールを使っているとよく登場する。
APIがサービスを利用するための窓口だとしたら、APIキーは、その窓口で自分のアプリを識別してもらうための鍵や利用者証みたいなもの。
サービスによっては、APIキーを使って「誰がアクセスしているのか」「利用できるサービスかどうか」などを確認する。
例えば、AIモデルを提供しているサービスのAPIを利用するとき。
アカウントを作成し、APIキーを発行して、それをアプリの設定に登録することがある。
そうすると、自分のアプリからそのAIモデルへリクエストを送れるようになる。
ただし、すべてのAPIがAPIキー方式というわけではない。
ログインによる認証や、アクセストークンという別の仕組みを使うサービスもある。
そして、もう一つ重要なこと。
APIキーは、他人に見せてはいけないもの!
サービスによっては、APIキーを使われると、自分のアカウントの利用枠やクレジットが消費されてしまうこともある。
だから、GitHubの公開リポジトリやブログ、SNSなどに載せないように注意が必要。
私はAIを使ってアプリを作ることが多いので、こういうことも少しずつ理解しておきたい。
今まで作ったアプリでも、APIを使っていたのかも?
そう考えると、もう一つ気になることが出てきた。
私はこれまでClaude CodeなどのAIツールを使って、いろいろなアプリを作ってきた。
でも、コードの中身をすべて自分で理解しているわけではない。
だから、もしかしたら今までも、あまり意識しないままAPIを使っていたのかもしれない。
例えば、外部のサービスから情報を取得する。
AIモデルに文章を送って、回答を受け取る。
自分のデータを別のアプリに表示する。
こうした仕組みの中でAPIが使われることがある。
ただし、外部サービスにつなぐ方法はAPIだけではないし、自分のアプリが実際にどんなAPIを利用しているかは、コードや設定を確認しないと分からない。
これからは、Claude Codeにアプリを作ってもらったときにも、
「この機能、APIを使っているの?」
と聞いてみようかな。
今までとは、また違うことが見えてきそう。
APIという言葉が、少し身近になった!
土曜日はAIハッカソンで、何度もAPIという言葉を聞いた。
日曜日はAmazonの仕事の話から、APIでできることとできないことを考えた。
そして、APIキーという言葉の意味も、少しずつ分かってきた。
まだ、自分でAPI連携のコードを一から書けるわけではない。
でも、AIを使ってアプリを作っていると、知らなかった技術用語が、ある日突然、自分の仕事や生活と結びつくことがある。
今回のAPIも、まさにそんな感じ。
ただ言葉を覚えるよりも、実際の体験とつながったときの方が、理解しやすいのかもしれない。
次は、自分で作ったアプリのどこにAPIが使われているのか、ちょっと調べてみたい!
また一つ、AIを使ったアプリ開発の世界が広がりそう。