当社独自のアクセス統計は常に有効です。Google Analyticsは、公開ページ(ログイン後のワークスペースは対象外)の利用状況を把握するためのもので、許可をいただいた場合のみ有効になります。詳しくは プライバシーポリシーをご覧ください。

POST

APIの稼働状況

24時間の稼働状況
正常
24時間の平均応答時間
—
  • 良好/正常
  • 利用可能
  • 制限あり
  • ほぼ停止
正常

公開Telegramチャンネル全体から、キーワードでメッセージを検索します。各結果には、チャンネル名、種類、登録者数、閲覧数、リアクション、メディアが含まれます。sinceとuntilで期間を絞り込めます。プライベートチャットは検索対象外で、結果はTelegram全体を網羅するものではありません。

料金は1,000リクエストあたり$0.56(1回あたり$0.000556)です。失敗した呼び出しと空の結果には課金されません。 同期処理です。時間のかかるジョブでは、ボディに"mode": "async"を追加し、job_idを取得してポーリングしてください。

AIプロンプト

EveryInfraのTelegram 検索エンドポイント(telegram/search)を使ったデータ収集スクリプトの作成を手伝ってください。

エンドポイントの仕組み:
- リクエスト:ヘッダーにAuthorization: Bearer <API key>を指定して、https://api.everyinfra.com/api/v1/socialにPOSTします。APIキーは環境変数EVERYINFRA_API_KEYから読み込み、ハードコードしないでください。
- リクエストボディでplatformにtelegram、actionにsearchを指定し、パラメータはparamsの中に入れます。
- 必須パラメータ:
  - keyword: searchアクションで、公開チャンネル内のメッセージを検索するクエリを指定します。連絡先リストや非公開チャットは検索対象外です。
- 任意パラメータ:
  - since: searchアクションで、メッセージの日付の下限を設定します。グループの作成日による絞り込みには使用されません。また、channel_postsには日付フィルターがありません。
  - until: searchアクションで、メッセージの日付の上限(beforeDate)を設定します。sinceと組み合わせて、公開メッセージの検索結果を絞り込みます。指定期間内のメッセージをすべて取得できることは保証されません。
  - limit: この呼び出しで返す最大行数で、1〜100の整数で指定します。省略するとデフォルト値が適用されます。また、返される行数がこれより少なくなる場合があります。最大値を超える値を指定すると、課金前に422が返されます。(デフォルト:20)
- レコードのリストを返します。各レコードの主なフィールド: id、url、text、posted_at、view_count、media_url、reactions、channel_username、channel_title、channel_type、channel_subscriber_count、channel_description.
- リクエストボディの例:
{
  "platform": "telegram",
  "action": "search",
  "params": {
    "keyword": "bitcoin"
  }
}
- 料金:1,000リクエストあたり$0.56。失敗時および結果が空の場合は課金されません。
- 対象が数十〜数百件ある場合は、ボディに"mode": "async"を追加します。すぐにjob_idが返されるので、GET https://api.everyinfra.com/api/v1/jobs/{job_id}をポーリングして結果を取得します。
- 422の場合は、エラーに含まれる推奨パラメータ名と指定可能な値を使ってリクエストを修正します。429または503の場合は、Retry-Afterの指定に従って待ってから再試行します。

コードを書く前に、必要な対象とその件数、必要なフィールド、希望する出力形式を私に質問してください。そのうえで、計画と概算費用を私に確認してください。

リクエストパラメータ

名前場所型必須デフォルト説明
Authorizationheaderstringはい-Bearerの後にAPIキーを続けます。APIキーはコンソールで作成してください。URLやコードリポジトリには絶対に含めないでください。
platformbodystringはいtelegramプラットフォームの識別子です。値は固定です。
actionbodystringはいsearch機能の識別子です。値は固定です。
keywordbody.paramsstringはい-searchアクションで、公開チャンネル内のメッセージを検索するクエリを指定します。連絡先リストや非公開チャットは検索対象外です。
sincebody.paramsdateいいえ-searchアクションで、メッセージの日付の下限を設定します。グループの作成日による絞り込みには使用されません。また、channel_postsには日付フィルターがありません。
untilbody.paramsdateいいえ-searchアクションで、メッセージの日付の上限(beforeDate)を設定します。sinceと組み合わせて、公開メッセージの検索結果を絞り込みます。指定期間内のメッセージをすべて取得できることは保証されません。
limitbody.paramsinteger (1–100)いいえ20この呼び出しで返す最大行数で、1〜100の整数で指定します。省略するとデフォルト値が適用されます。また、返される行数がこれより少なくなる場合があります。最大値を超える値を指定すると、課金前に422が返されます。

コードサンプル

bash
curl -X POST 'https://api.everyinfra.com/api/v1/social' \
  -H "Authorization: Bearer $EVERYINFRA_API_KEY" \
  -H 'Content-Type: application/json' \
  --data-raw '{
  "platform": "telegram",
  "action": "search",
  "params": {
    "keyword": "bitcoin"
  }
}'

OpenAPI定義(JSON)サンプルは環境変数EVERYINFRA_API_KEYからAPIキーを読み込みます。コピーしたコードにAPIキーが含まれることはありません。

レスポンス例

実際のレスポンス

October 24, 2026 at 18:28(UTC)に、上のコードサンプルのパラメータでこのAPIを呼び出して取得しました。resultsとcountはその呼び出しの実際のレスポンスから個人情報(名前、ハンドル、アバター、プロフィールリンク、連絡先)を削除したものです。リストは先頭の2件のみ掲載しています。id、billing、quotaは呼び出しごとに異なるため、構造のみを示しています。

json
{
  "id": "req_…",
  "platform": "telegram",
  "action": "search",
  "results": [
    {
      "id": 17347,
      "url": "https://t.me/s/BitcoinBullets?before=17348",
      "text": "#ALGO Market Analysis\n\nALGO is at 0.1065 on the 8h. A steady slide from the 0.1350 highs has walked it straight into the rising trendline from the mid August lows near 0.1045. The trendline last caught price in mid September and launched the move to the highs, so this test carrie…",
      "posted_at": "2026-10-24T03:12:51+00:00",
      "view_count": 3760,
      "media_url": "https://cdn1.telesco.pe/file/L8xXzg-1fMU1_C3CIFPJrV2jLFtIv-dKS6i26m0q2ih1q5qmi6TuPK3xc2BnJjAcmyZYpQoh1Cq4lPpcKu93ot-IQLOj2oyJrEXAICkGf5LQn8o9LrEbSC5m3s0IgGRKXRYVe_6wI3eGPqL3JnAvP9aF6gEhvYJ7zeCF1CnFpk-IKpy07ou-98er0QyXBX_0ONu6vn7Lnk9UJktsjySTFjCTkouy62mtSppMXnJ-JqOhMpgkQrK4NvhRLcS…",
      "channel_username": "•••",
      "channel_title": "Bitcoin Bullets®",
      "channel_type": "Channel",
      "channel_subscriber_count": 98900,
      "channel_description": "The most accurate trading signals on Telegram since 2018.\n\nVIP: @•••\nCONTACT: @•••\n\nBINGX $5K Bonus: https://bingx.com/invite/XJKYUGIC\nBybit $30K Bonus: https://bit.ly/btcbullets\nMEXC $20k Bonus: https://bit.ly/BBMEXC",
      "platform": "telegram"
    },
    {
      "id": 72823,
      "url": "https://telegram.me/s/cointelegraph",
      "text": "🔥 JUST IN: Spot Bitcoin ETFs just bled $635.6M in a single day, the biggest outflow since June. \n\nBlackRock's $IBIT alone dumped $254.1M.\n\nNews | Markets | YouTube",
      "posted_at": "2026-10-24T04:35:40+00:00",
      "view_count": 7590,
      "media_url": "https://cdn5.telesco.pe/file/fw7hVR8Ye5Sca20t8mXruSNy9t6lWEjm7ZP-CkQsWKx0YVnz0FVuo6694XBR6RrHeV4-dMQ-rAgc9fVg0hRQEZ4GUb03077FdE9yFtoI1WS7fCeL8Bo3exP5ztWf9ESnIUwKHc6x3hOzcmGZkQGvplwicupu4CSlZLWpMpK6b_WjPMern2avP3bupXdqdONF3wFOwHe4nvgwKWQRFvGIaZDTsHhmMsbsP5d44DteJlike1ZL3kwkD9FR8n2…",
      "reactions": [
        {
          "emoji": "🔥",
          "count": 27
        },
        {
          "emoji": "🤡",
          "count": 20
        },
        {
          "emoji": "❤",
          "count": 12
        }
      ],
      "channel_title": "Cointelegraph",
      "channel_type": "Channel",
      "channel_subscriber_count": 328000,
      "channel_description": "The Future of Money \n\nUnbiased crypto, markets & Web3 news in real-time. Trusted since 2013.\n\n🔔 Turn on notifications to catch the calls that move markets.\n\nExplore: linktr.ee/cointelegraph_mobile\n\nFor ads: •••",
      "platform": "telegram"
    }
  ],
  "count": 16,
  "billing": {
    "charged": …,
    "charged_usd": …,
    "balance_after_usd": …,
    …
  },
  "quota": { … }
}

レスポンスフィールド

業務データはresultsに含まれます。この表はレコードに含まれうるフィールドの一覧です。プラットフォームに表示されない値を作り出すことはありません。

フィールド意味
idプラットフォーム上でのレコードの一意なIDです。一意性は1つのプラットフォーム内に限られ、プラットフォームが異なるとIDが重複する場合があります。
urlプラットフォーム上のレコードへのリンクです。
textHTMLを除去した本文です。省略されることなく全文が返されます(一部のプラットフォームでは一覧結果自体に抜粋しか含まれません。その場合は各プラットフォームのフィールドの注記に記載しています)。
posted_at投稿日時です。ISO 8601形式のUTCで返されます(例:2026-08-07T12:34:56+00:00)。プラットフォームから非標準の文字列が返された場合はそのまま渡されるため、パース処理は堅牢に実装してください。nullはプラットフォームが公開していないことを示します。
view_count閲覧数または再生数です。nullは非公開を示し、0ではありません。
media_urlプラットフォーム上の意味のまま
reactionsプラットフォーム上の意味のまま
channel_usernameプラットフォーム上の意味のまま
channel_titleプラットフォーム上の意味のまま
channel_typeプラットフォーム上の意味のまま
channel_subscriber_countプラットフォーム上の意味のまま
channel_descriptionプラットフォーム上の意味のまま
platform取得元プラットフォームの識別子で、リクエストのplatformと同じです(例:xiaohongshu、tiktok)。

エラーと課金

401
キーが未指定か無効です。
402
残高が不足しています。先にチャージしてください。
422
パラメータ名または値が無効です。エラーに含まれる候補を参考に修正してください。課金はされません。
429
1分あたりのリクエスト上限に達しました。Retry-Afterの指定に従って待ってから再試行してください。
503
処理を完了できませんでした。保留中の請求額は残高に戻されます。結果が不明な場合は、再試行する前に確認してください。
200(空)
データがありません。課金はされません。

エラー

公式リファレンス

対象と用語の確認にのみ使用しています。プラットフォームによるEveryInfraの承認や推奨を意味するものではありません。

  • Telegram公式:コンテンツのライセンスとAI利用の制限 ↗

    Telegramの公式規約では、プラットフォーム本来の通常の利用範囲を超えるコンテンツへのアクセスを制限し、AIモデルの学習、検証、改善、ベンチマーク、デプロイを目的としたプラットフォームデータのスクレイピングや集約を禁止しています。例外として認められるには、コンテンツごと、利用状況ごとに、関係するユーザーから明示的かつ継続的な同意を得る必要があります。公開されているからといって、一般的な利用ライセンスが与えられるわけではありません。

    確認日:2026-09-04