Skip to the page

agentUniverse

agentUniverse's BingSearchTool calls Bing Web Search v7 at https://api.bing.microsoft.com/v7.0/search, which Microsoft retired on August 11, 2025. Set bing_search_url to SpecStream's Bing address and the same tool searches the live web again, with no change to your agents or your code.

SpecStream for agentUniverseAgent frameworks & builders

What you need

  • An agentUniverse app. This guide was tested with agentUniverse 0.0.19.1 on Python 3.12.
  • A SpecStream account. New accounts get $10 of credit, no card. Create one.
  1. 1. Create an API key

    In your SpecStream workspace, open Agents & API, choose API keys, then Create API key, and set a total spending limit. Copy the key from the next screen. SpecStream shows it once.

  2. 2. Set it as BING_SUBSCRIPTION_KEY

    BingSearchTool reads its key from BING_SUBSCRIPTION_KEY and sends it in the Ocp-Apim-Subscription-Key header, where SpecStream's Bing address takes it. Set it in the environment your app runs in, or in your app's config/custom_key.toml under [KEY_LIST]:

    config/custom_key.toml
    [KEY_LIST]
    BING_SUBSCRIPTION_KEY='YOUR_SPECSTREAM_API_KEY'
  3. 3. Point the tool at SpecStream

    agentUniverse sets every key of a tool's YAML on the tool, so bing_search_url in the YAML replaces Microsoft's address. Save this file in the tool folder your config.toml lists under [CORE_PACKAGE], such as intelligence/agentic/tool/:

    intelligence/agentic/tool/bing_search_tool.yaml
    name: 'bing_search_tool'
    description: |
    Search the live web. The input is the question to search for.
    tool_type: 'api'
    input_keys: ['input']
    bing_search_url: 'https://api.specstream.ai/v7.0/search'
    metadata:
    type: 'TOOL'
    module: 'agentuniverse.agent.action.tool.common_tool.bing_search_tool'
    class: 'BingSearchTool'
  4. 4. Give the tool to an agent

    In the agent's YAML, list the tool by its name under action, in place of mock_search_tool or the search tool it used before:

    intelligence/agentic/agent/agent_instance/demo_agent.yaml
    action:
    tool: ['bing_search_tool']
  5. Start the app and call the tool by name, to check the key and the address before an agent uses it. It prints the snippets of the top five results, joined in one string. On November 12, 2026, with agentUniverse 0.0.19.1, this call read bing_search_url from the YAML and answered in 1.08 seconds:

    check_search.py
    from agentuniverse.base.agentuniverse import AgentUniverse
    from agentuniverse.agent.action.tool.tool_manager import ToolManager
    AgentUniverse().start(config_path='config/config.toml')
    tool = ToolManager().get_instance_obj('bing_search_tool')
    print(tool.run(input='latest stable release of Python'))

Or set the address in code

BingSearchTool is a Pydantic model, so a tool you build in code takes the address as an argument, with no YAML and no app start. On November 12, 2026, this call answered in 2.05 seconds with the snippets of five results:

Two ways it fails

  • With no BING_SUBSCRIPTION_KEY, BingSearchTool does not raise an error. It returns MockSearchTool's fixed sample text, a Chinese news piece about Berkshire Hathaway and BYD, and the agent answers from that. If every search answers with the same text, the key is not set.
  • With the key set and the address left at https://api.bing.microsoft.com/v7.0/search, the call goes to Microsoft's retired API and returns no results. Set bing_search_url as above.

What the tool sends and gets back

BingSearchTool runs LangChain's BingSearchAPIWrapper with k=5. Each call is one GET /v7.0/search, and SpecStream answers in Bing's shape:

BingSearchToolSpecStream
bing_subscription_keyYour SpecStream API key, in Ocp-Apim-Subscription-Key
bing_search_urlhttps://api.specstream.ai/v7.0/search
The queryq, in everyday words, any language
count, 5 from k=5Five results
Each result's snippetwebPages.value[].snippet, with name and url

Cost

Searches through the Bing address run on the fast tier: $1 per 1,000 searches of up to 10 results, from your balance, with no quote and no approval. BingSearchTool asks for five results, so each call is one search at that price. A search that returns nothing costs nothing.

New accounts start with $10 of credit, no card. Each call is listed on the Search API screen of your workspace with its query and price. Balance and billing has the details.

Search quality

SpecStream's Search API scores 97.9 F-score on all 1,000 SimpleQA Verified questions and 64.0 item F1 on all 200 WideSearch tasks. Scores and method are on the benchmarks page.

Other Bing clients

The same address answers any client written for Bing Web Search v7, and Microsoft's SDKs work with only their endpoint set to https://api.specstream.ai. Moving off Bing Web Search v7 has the other settings, and the Search API page has the native API.

Remove

Delete the bing_search_url line or the tool file, and unset BING_SUBSCRIPTION_KEY. To stop the key working everywhere, revoke it in Agents & API. Other ways to build with SpecStream are in agent frameworks. Questions go to [email protected].

More

SpecStream for agentUniverse covers what it does in agentUniverse on one page. Every other tool has its guide in Connect your tools. You see the most a request can cost before it starts, and the matches are paid from your balance. Billing has the details. For help, email [email protected].