🆕

Grok APIのLive Search(Xやウェブから情報収集できる機能)をGASで試してみた

に公開

要点を3行で

  • 2025年5月22日よりGrok APIでLive Searchが使えるようになった。Live SearchはXやウェブを検索して情報を取得できる機能
  • 本投稿ではGoogle Apps ScriptでLive Searchを使った関数を試作。米国株の最新情報やxAIの最新の話題の取得例を紹介
  • 2025年6月5日までは無料で使えるが、送信データはxAIと共有される点に注意

事の経緯

朝起きて、AI関連のTLを見たところ、xAIのアカウントが「Live Search API」を提供開始とのことで、早速試してみました。

https://x.com/xai/status/1925244461875175616

公式サイトにはPythonの実装例が豊富に書かれているため、ここではGoogle Apps Scriptで試作したものを紹介してみます。

https://docs.x.ai/docs/guides/live-search

実際に試してみる

ソースコード例

ソースコード

// APIと送受信する関数
function callGrokWithLiveSearch(prompt) {

  const apiKey = PropertiesService.getScriptProperties().getProperty('XAI_GROK_KEY'); // APIキーはスクリプトプロパティから取得
  const apiModel = "grok-3-latest";
  const apiUrl = "https://api.x.ai/v1/chat/completions";

  const payload = {
    messages: [
      { role: 'user', content: prompt }
    ],
    search_parameters: { // Live Search用のパラメータ
      mode: 'on', // on:必ず検索 auto:検索はAIが判断 off:検索しない
      return_citations: true // 引用元を含める
    },
    model: apiModel,
  };
  const options = {
    method: 'post',
    contentType: 'application/json',
    headers: { Authorization: 'Bearer ' + apiKey },
    payload: JSON.stringify(payload),
    muteHttpExceptions: true,
  };
  const res = UrlFetchApp.fetch(apiUrl, options);
  if (res.getResponseCode() === 200) {
    const data = JSON.parse(res.getContentText());
    return data.choices[0].message.content.trim();
  } else {
    return `Error (${res.getResponseCode()}): ${res.getContentText()}`;
  }
}

// テスト関数
function testcallGrokWithLiveSearch() {

  const prompt = "2025年5月21日の米国株について教えて";
  message = callGrokWithLiveSearch(prompt)
  Logger.log(message)

}

Xとウェブから最新情報を取得する

というわけで、さっそく最新のニュースを聞いてみます。

実際、ニュース記事にあるようにダウ平均は816ドル安と報告されており、最新情報が取れていることがわかります

https://jp.reuters.com/markets/us/GDRWWYA76JMARMTIKPRWKISQLU-2025-05-21/

ちなみに引用先として、Xでの投稿のほか、SBI証券やヤフーファイナンスの記事などもリストアップされています。XでGrok 3に質問をすると、XのTLとウェブサイトを両方検索して回答してくれる場合がありますが、それと同じですね。

Xの特定アカウントだけを検索対象にする

そこで今度は、Xの特定アカウントだけを検索対象にしてみます。今回はxAIの公式アカウントを検索してみました。

Xの特定アカウントだけを検索するには、search_parametersを以下のようにソースコードを書き換えます。xaiは公式アカウントのアカウントIDです。

search_parameters: {
  mode: 'on',
  sources: [{ "type": "x", "x_handles": ["xai"] }]
},

xAIの最新のニュースを聞いてみます。

ちょうど今試しているLive Search APIのニュースが取得できました。

リファレンスリストを見ると、10ポストぐらいを取得しており、2024年8月ぐらいの話題も拾っています。xAIのポストを追うところでは20~30ポストぐらいをさかのぼって取得しているようです。

使い道は?

今回の例で示したように、投資なんかは最新情報を探しやすくなるわけですが、毎日のように進化するAIまわりのニュースも収集しやすくなるかなぁと思います。

ちなみに公式サイトを見ると2025年6月5日までは無料で使えるそうです。そのかわり送信した情報はサービス改善に使われる点にご注意ください。

https://docs.x.ai/docs/guides/live-search

また見てね!

また、記事を書くのでフォローしてね!

Xはお金の話中心です
https://x.com/instockexnet

Discussion