オープンAPI (パブリック API とも呼ばれる) は、開発者が (場合によっては独自の)ソフトウェア アプリケーションまたはWeb サービスにプログラムでアクセスできるようにする、一般に利用可能なアプリケーション プログラミング インターフェイスです。[ 1 ]オープン API は、インターネット上で公開され、消費者が無料でアクセスできる API です。[ 2 ]
「オープン API」という用語には普遍的に受け入れられている定義はなく、さまざまな文脈で次のようなさまざまな意味で使用される可能性があります。[ 3 ]
プライベート API は、組織のバックエンド データとアプリケーション機能の一部を、その組織内で働く開発者 (またはその組織に雇用されている開発者) が利用できるようにするためのインターフェースです。プライベート API は内部開発者のみに公開されるため、API 発行者はアプリケーションの開発内容と開発方法を完全に制御できます。プライベート API は、内部コラボレーションに関して大きなメリットをもたらします。組織全体でプライベート API を使用することで、内部データ モデルに対する共有認識を高めることができます。開発者は 1 つの組織に雇用されているため、コミュニケーションがより直接的になり、グループとしてより緊密に作業できるようになります。プライベート API を使用すると、生産性を最大化する内部システムを操作および構築し、市場へのリーチを拡大し、既存の製品に付加価値を与える顧客向けアプリケーションを作成するために必要な開発時間を大幅に短縮できます。[ 4 ]
プライベート API は、さまざまな方法で「プライベート」にすることができます。最も一般的なのは、組織がそのようなインターフェースを文書化しないことを選択することです。たとえば、Microsoft Windows の文書化されていない機能の場合、シンボル テーブルを調べることで見つけることができます。[ 5 ] Web ベースの API の中には、アプリケーションのトラフィックを分析することで発見できるキーによって認証されるものもあります。[ 6 ]さらに、macOS は、デジタル署名によってのみ付与される「エンタイトルメント」を使用して、システム内のプライベート API へのアクセスを制御します。[ 7 ]
プライベート API は、定義上、それを発見して使用することを選択したサードパーティ開発者に対して何の保証もありません。それにもかかわらず、Microsoft Windows での文書化されていない関数の使用は非常に広まっているため、システムは「AppCompat」データベースを使用して特定のプログラムの古い動作を保持する必要があります。[ 8 ]
プライベート API とは対照的に、オープン API はすべての開発者がアクセスできるように公開されています。これにより、組織の従業員以外の開発者がバックエンド データにアクセスし、それを使用して独自のアプリケーションを強化できます。オープン API は、企業が新しい開発者を雇用するために投資する必要なく、収益を大幅に増加させることができ、非常に収益性の高いソフトウェア アプリケーションとなります。[ 9 ] [ 10 ] ただし、バックエンド情報を一般に公開すると、さまざまなセキュリティと管理上の課題が生じる可能性があります。[ 11 ]たとえば、オープン API を公開すると、組織がエンド ユーザーが情報資産で経験するエクスペリエンスを制御することが難しくなります。オープン API の発行者は、API に基づいて構築されたクライアント アプリケーションが優れたユーザー エクスペリエンスを提供すると想定することはできません。さらに、クライアント アプリケーションが企業のブランド ルック アンド フィールを維持することを完全に保証することはできません。
オープンAPIは、中核事業に付加価値をもたらす革新的なアプリケーションを開発できる、拡大し続けるフリーランス開発者コミュニティを活用したい企業にとって有効な手段です。オープンAPIは、開発に直接投資することなく新たなアイデアの創出を促進するため、ビジネス分野で広く利用されています。企業は、価値ある新規アプリケーションの開発に最も効果的だと考える特定の開発者層をターゲットに、APIをカスタマイズすることがよくあります。しかし、APIに機能が過剰に詰め込まれると、アプリケーションの機能性が著しく低下する可能性があります。

例えば、[ 12 ] Yahoo!のオープン検索APIを使用すると、開発者はYahoo!検索を独自のソフトウェアアプリケーションに統合できます。このAPIを追加することで、開発者のアプリケーションに検索機能が追加されると同時に、Yahoo!検索エンジンの検索トラフィックも増加するため、両者にメリットがあります。FacebookとTwitterに関しては、サードパーティが独自のコードでこれらのサービスをどのように強化しているかがわかります。たとえば、Facebookの認証情報を使用して外部サイト/アプリにアカウントを作成する機能は、 FacebookのオープンAPIを使用して実現されています。
Twitter、LinkedIn、Facebookなどの多くの大手テクノロジー企業は、第三者や競合他社による自社サービスの利用を許可している。[ 13 ] [ 14 ] [ 15 ]
HTML5とWeb 2.0の普及に伴い、現代のブラウジング体験はインタラクティブでダイナミックなものへと進化しました。これは、オープンAPIの利用によって部分的に加速されています。オープンAPIの中には、ウェブサイトの背後にあるデータベースからデータを取得するものがあり、これらはWeb APIと呼ばれます。例えば、GoogleのYouTube APIを使用すると、開発者はYouTubeをアプリケーションに統合し、動画の検索、標準フィードの取得、関連コンテンツの表示といった機能を利用できます。
Web APIは、Webサイトとの間でデータを受信または送信することによって情報を交換するために使用されます。Web APIがWebサイトからデータを取得する場合、アプリケーションはWebサイトが保存されているサーバーにHTTPリクエストを送信します。サーバーは、アプリケーションが想定する形式でデータを返信するか(リクエストした場合)、Webサイトへの変更を反映させます(送信した場合)。