![[Update] Amazon Bedrock AgentCore Web Search API Has Been Released!](https://devio2024-media.developers.io/image/upload/f_auto,q_auto,w_3840/f_auto,q_auto/v1790875048/eyecatch/edq4dfptctqlcwjhffhs.png)
[Update] Amazon Bedrock AgentCore Web Search API Has Been Released!
This page has been translated by machine translation. View original
Introduction
Hello, this is Kanno from the Consulting Department, and I love supermarkets.
The Amazon Bedrock AgentCore Web Search API was released on November 10, 2026!
This is an update that follows the Web Search released in June and the Web Answer released recently. I'll summarize the main changes and then give it a quick try.
Main Changes
You can now call Web Search directly through the InvokeWebSearch API!!!!
Until now, Web Search was an MCP tool used via AgentCore Gateway.
Even if you wanted to search from an app or a batch job, you had to create a Gateway first and call it via MCP, but from now on you can receive search results with a single API call!
There are no resources to create in advance, and authorization is handled entirely by IAM.

In the Web Answer article, I wrote that "calling the Gateway's MCP tool yourself is a bit of a hassle," so I personally think this is a welcome update! (Although Web Answer is not yet available as an API...)
By the way, the official documentation advises the following on when to use which.
- If you want to receive search results in code, use the API
- If an agent calls it as a tool via MCP, use the Gateway connector
The main differences between the two are as follows.
| Item | Web Search API | Gateway connector |
|---|---|---|
| How it's called | AWS SDK / AWS CLI | MCP tool via Gateway |
| Authorization | IAM | IAM or JWT |
| Domain filtering | Specified per request | Can also be set per target |
| When no count is specified | Up to 25 results | Up to 10 results |
Basic Usage
You call invoke_web_search from the boto3 bedrock-agentcore client. The two required arguments are the ID of the search tool and the search string. Very simple!
The steps in the official documentation are here.
import boto3
client = boto3.client("bedrock-agentcore", region_name="ap-northeast-1")
response = client.invoke_web_search(
webSearchId="web-search.v1",
searchQuery="検索したい内容",
)
for result in response["results"]:
print(result.get("title"), result.get("url"))
print(result["text"])
The arguments you can specify are as follows.
| Argument | Required | Description |
|---|---|---|
webSearchId |
Yes | ID of the search tool (fixed to web-search.v1) |
searchQuery |
Yes | The string to search for (up to 200 characters) |
maxResults |
No | Number of results to return (1 to 25) |
filters.domainFilter |
No | Domains to include and exclude (up to 100 each) |
filters.publishedDateFilter |
No | Range of publication date and time |
Results are placed in results in descending order of relevance. Each result always includes an excerpt of the body text (text), while the title, URL, and publication date and time are returned when they could be obtained.
For details on the arguments and results, please also refer to the official documentation reference as needed.
Prerequisites
The prerequisites for this use are as follows.
- Supported Regions are six, including Tokyo
- It's great that it can be used in the Tokyo Region!
- Pricing is $7 per 1,000 queries (the same unit price as via Gateway)
- The
bedrock-agentcore:InvokeWebSearchpermission is required for calls - boto3 1.43.127 or later is required
- This time I tried it with the Tokyo Region and Python 3.15.2
For pricing details, please check the official pricing page.
Now, let's try it out right away!
Trying It Out
Complete AWS authentication beforehand and create the project!
uv init websearch-api-try
cd websearch-api-try
uv add "boto3>=1.43.127"
Try a Search
As in the previous articles, I'll search for Classmethod's company overview!
I limited the number of results to 3.
import time
import boto3
client = boto3.client("bedrock-agentcore", region_name="ap-northeast-1")
start = time.perf_counter()
response = client.invoke_web_search(
webSearchId="web-search.v1",
searchQuery="クラスメソッド株式会社 会社概要",
maxResults=3,
)
elapsed = time.perf_counter() - start
print(f"{len(response['results'])}件 / {elapsed:.2f}秒")
for result in response["results"]:
print("---")
print(result.get("title"))
print(result.get("url"))
print(result.get("publishedAt"))
print(result["text"][:120])
uv run search.py
3件 / 0.49秒
---
AWS・生成AI・クラウドの技術支援
https://classmethod.jp/company/overview/
2026-09-16 05:52:00+00:00
事業所および海外支社 国内 8拠点 アクセス 東京 / 札幌 / 仙台 / 上越 / 名古屋 / 大阪 / 福岡 / 沖縄 海外 6拠点 ベルリン(ドイツ) / バンクーバー(カナダ) / バンコク(タイ) / ソウル(韓国) / ダナン(
---
AWS・生成AI・クラウドの技術支援
https://classmethod.jp/company/
None
事業所および海外支社 国内 8拠点 アクセス 東京 / 札幌 / 仙台 / 上越 / 名古屋 / 大阪 / 福岡 / 沖縄 海外 6拠点 ベルリン(ドイツ) / バンクーバー(カナダ) / バンコク(タイ) / ソウル(韓国) / ダナン(
---
AWS・生成AI・クラウドの技術支援
https://classmethod.jp/company/history/
2026-09-16 05:58:00+00:00
10月 ベトナム・ダナンオフィスをスタート 11月 AWSパートナーアワード「SI Partner of the Year – APJ」を受賞 12月 仙台オフィスをスタート 2024年 8月 子会社のクラスメソッドテクノロジーズ株式会社を
In 0.49 seconds, the official site's company overview page came back as the first result!
So easy.
The publication date and time of the second result is None. For pages where the publication date and time can't be obtained, the field itself is omitted, so it's safer to retrieve it with get.
By the way, when I searched without specifying the number of results, 20 results came back in 0.53 seconds. The excerpts totaled about 12,000 characters, so if you're passing them to an LLM, you'll need to consider things like narrowing down the number of results.
Search for Event Schedules
As in the Web Answer article, I'll also search for the dates and venue of DevelopersIO 2026 Osaka.
import boto3
client = boto3.client("bedrock-agentcore", region_name="ap-northeast-1")
response = client.invoke_web_search(
webSearchId="web-search.v1",
searchQuery="DevelopersIO 2026 Osaka 開催日 会場",
maxResults=5,
)
print(f"{len(response['results'])}件")
for result in response["results"]:
print("---")
print(result.get("title"))
print(result.get("url"))
print(result.get("publishedAt"))
print(result["text"][:200])
5件
---
DevelopersIO 2026 Osaka Day2 #devio2026
https://events.classmethod.jp/study-club/connpass-401017/
None
DevelopersIO 2026 Osaka Day2 #devio2026 クラスメソッドでは、毎月10本以上のセミナーを開催しています。 最新のセミナー情報をいち早くお届けするため、ぜひこちらからご登録ください。 開催日時: 2026/09/29 10:30 ~ 19:00 開催場所: 大阪府大阪市中央区伏見町3-6-3 三菱UFJ信託銀行大阪ビル 8階 今年もやるぜ!DevelopersI
---
DevelopersIO 2026 Osaka Day1(前夜祭) #devio2026
https://events.classmethod.jp/study-club/connpass-400604/
None
DevelopersIO 2026 Osaka Day1(前夜祭) #devio2026 クラスメソッドでは、毎月10本以上のセミナーを開催しています。 最新のセミナー情報をいち早くお届けするため、ぜひこちらからご登録ください。 開催日時: 2026/09/28 16:30 ~ 21:00 開催場所: 大阪府大阪市中央区伏見町3-6-3 三菱UFJ信託銀行大阪ビル 8階 DevelopersIO
Four of the five results were event pages, including a connpass event page. The excerpts include the date and time and the venue address, so Japanese information is being retrieved reasonably well!
Filter by Domain and Publication Date
Next, I'll filter by the DevelopersIO domain and publication dates on or after October 1, 2026.
from datetime import datetime, timezone
import boto3
client = boto3.client("bedrock-agentcore", region_name="ap-northeast-1")
response = client.invoke_web_search(
webSearchId="web-search.v1",
searchQuery="神野 AgentCore ブログ",
maxResults=5,
filters={
"domainFilter": {"include": ["dev.classmethod.jp"]},
"publishedDateFilter": {
"publishedAfter": datetime(2026, 10, 1, tzinfo=timezone.utc)
},
},
)
print(f"{len(response['results'])}件")
for result in response["results"]:
print("---")
print(result.get("title"))
print(result.get("url"))
print(result.get("publishedAt"))
5件
---
DevelopersIO
https://dev.classmethod.jp/en/author/yjinn/
2026-11-01 00:00:00+00:00
---
DevelopersIO
https://dev.classmethod.jp/en/author/yjinn/1/
2026-10-26 00:00:00+00:00
---
[アップデート] AWS Step FunctionsのワークフローをAgentCore Gateway経由でAIエージェントのツールとして使えるようになりました!
https://dev.classmethod.jp/articles/step-functions-agentcore-gateway-tools/
2026-10-30 13:46:00+00:00
---
Amazon Bedrock AgentCore's articles
https://dev.classmethod.jp/en/tags/amazon-bedrock-agentcore/
2026-11-01 00:00:00+00:00
---
Amazon Bedrock AgentCore's articles
https://dev.classmethod.jp/en/tags/amazon-bedrock-agentcore/1/
2026-11-01 00:00:00+00:00
All five results were DevelopersIO pages, and the publication dates are also within the range of October 1 or later!
On the other hand, only one was an actual article, the Step Functions article I wrote on October 30, and the rest were English-version author pages and tag pages.
Hmm, let's try again with a different keyword and number of results.
Change the Keyword and Try 20 Results
Since author pages and tag pages were hit, I'll change the keyword and increase the number of results to 20. I changed two places in search_filter.py.
searchQuery="Amazon Bedrock AgentCore アップデート 試してみた",
maxResults=20,
Execution results (20 results)
20件
---
[アップデート] AWS Step FunctionsのワークフローをAgentCore Gateway経由でAIエージェントのツールとして使えるようになりました!
https://dev.classmethod.jp/articles/step-functions-agentcore-gateway-tools/
2026-10-30 13:46:00+00:00
---
[アップデート] Amazon Bedrock AgentCore Gatewayがプライベート認証局(CA)の証明書に対応したので、VPC内のMCPサーバーに接続してみた
https://dev.classmethod.jp/articles/agentcore-gateway-private-ca/
2026-10-19 02:15:00+00:00
---
[Update] I tried out AgentCore Gateway's newly supported Bedrock InvokeModel API and model fallback
https://dev.classmethod.jp/en/articles/agentcore-gateway-model-fallback/
2026-10-24 16:51:00+00:00
---
[Update] Session endpoints, a feature that allows direct access to servers running within Amazon Bedrock AgentCore Runtime sessions, has been added!
https://dev.classmethod.jp/en/articles/bedrock-agentcore-runtime-session-endpoints/
2026-11-01 10:04:00+00:00
---
AWS re:Invent 2025 の記事一覧
https://dev.classmethod.jp/referencecat/aws-reinvent-2025/8/
2026-11-06 10:00:00+00:00
---
Amazon Bedrock の記事一覧
https://dev.classmethod.jp/tags/amazon-bedrock/5/
2026-11-06 10:00:00+00:00
---
Amazon Bedrock AgentCore's articles
https://dev.classmethod.jp/en/tags/amazon-bedrock-agentcore/
2026-11-01 00:00:00+00:00
---
Amazon Bedrock の記事一覧
https://dev.classmethod.jp/tags/amazon-bedrock/4/
2026-11-06 10:00:00+00:00
---
DevelopersIO
https://dev.classmethod.jp/author/yona/
2026-10-30 00:00:00+00:00
---
Amazon Bedrock AgentCore's articles
https://dev.classmethod.jp/en/tags/amazon-bedrock-agentcore/1/
2026-11-01 00:00:00+00:00
---
Claude の記事一覧
https://dev.classmethod.jp/tags/claude/1/
2026-11-06 10:00:00+00:00
---
[Update] AgentCore CLI v1.0.0 has been released!
https://dev.classmethod.jp/en/articles/agentcore-cli-v1-release/
2026-10-26 03:44:00+00:00
---
[Update] You can now attach custom metadata to records in AWS Agent Registry
https://dev.classmethod.jp/en/articles/aws-agent-registry-custom-metadata/
2026-10-20 02:09:00+00:00
---
DevelopersIO
https://dev.classmethod.jp/en/author/yjinn/1/
2026-10-26 00:00:00+00:00
---
DevelopersIO
https://dev.classmethod.jp/en/author/yjinn/
2026-11-01 00:00:00+00:00
---
ClaudeからAgentCore Gatewayで作成したMCPサーバーに接続してみた
https://dev.classmethod.jp/articles/claude-connect-agentcore-gateway-mcp-server/
2026-11-05 02:34:00+00:00
---
[アップデート] Amazon Bedrock Guardrailsのコンテキストグラウンディングチェックに Standard ティアが追加されたので試してみた
https://dev.classmethod.jp/articles/bedrock-guardrails-grounding-standard-tier/
2026-10-22 04:19:00+00:00
---
Amazon Bedrock AgentCore の記事一覧
https://dev.classmethod.jp/tags/amazon-bedrock-agentcore/7/
2026-11-06 10:00:00+00:00
---
Strands Agents's articles
https://dev.classmethod.jp/en/tags/strands-agents/
2026-11-01 00:00:00+00:00
---
[Update] AgentCore Gateway rate limiting can now be separated by request header and body values
https://dev.classmethod.jp/en/articles/agentcore-gateway-rate-limit-header-body/
2026-10-22 16:07:00+00:00
This time, 9 of the 20 results were actual articles, and 8 of those were my own articles!
Still, 11 tag and author list pages remained, and English-version article pages are mixed in too...
The accuracy here is a bit of a concern, but since this was just a quick first look, if you're concerned about accuracy, please try it with your own keywords!
Conclusion
You can now easily embed Web Search into apps!
I think it's great that it's AWS-managed and can be called without an API key! The accuracy is a little concerning, but it's easy to try, so let's try it out a lot and check the accuracy first!
It would be even better if Web Answer could also be called directly via API, so I'm looking forward to future updates.
I hope this article was of some help. Thank you for reading to the end!