What will you learn?

In this use case, you’ll discover how to gather a company’s product news and updates using Tavily’s Search API. This tutorial outlines how to get started with the Tavily Python SDK, how to properly configure search parameters for optimal results, and how to effectively interact with Tavily’s Search API to retrieve the latest product updates for a specified company.

How does it work?

Self-Reported News

Our system gathers official updates including blog posts, product announcements, and company news by utilizing the include_domain parameter. This allows us to focus specifically on content from:

  • A company’s official website

This domain-filtered approach ensures efficient credit usage while maintaining search accuracy.

Third-Party Coverage

To capture external perspectives, we employ specialized news search parameters:

  • Set topic = news to focus on reputable news sources
  • Utilize time_range = month for current coverage

For the functionality discussed in this tutorial, search_depth = basic will be sufficient to acheive the intended results.

Getting Started

We have prepared a Jupyter Notebook outlining the contents of this tutorial

First create an account and get your free API key.

Get your Tavily API key

Next, use the Tavily Python SDK to create the workflow.

1

Install the Tavily Python SDK

Shell
%pip install -q tavily-python python-dotenv ipykernel
2

Import the necessary libraries

Python
import getpass
import os

if not os.environ.get("TAVILY_API_KEY"):
    os.environ["TAVILY_API_KEY"] = getpass.getpass("TAVILY_API_KEY:\n")

TAVILY_API_KEY = os.getenv("TAVILY_API_KEY")
3

Instantiate the Tavily Client

Python
from tavily import TavilyClient

tavily_client = TavilyClient()
4

Define the search parameters

Python
def search_product_updates(company_name: str, domains: list):
    all_results = []

    # Search for self-reported news
    company_results = tavily_client.search(
        query=f"{company_name} product news, updates, releases, and announcements",
        search_depth="basic",
        max_results=10,
        include_domains=domains
    )

    for result in company_results["results"]:
        result["search_type"] = "Self-reported News"
        all_results.append(result)


    # Search for third-party coverage
    news_results = tavily_client.search(
        query=f"{company_name} product news, updates, releases, and announcements",
        search_depth="basic",
        max_results=10,
        time_range="month",
        topic="news"
    )

    for result in news_results["results"]:
        result["search_type"] = "Third-party Coverage"
        all_results.append(result)

    return all_results
5

Execute the search

Python
    product_updates = search_product_updates(
        "OpenAI", ["openai.com"]
    )

    product_updates
6

Output

Shell
 [
     {
         "title": "OpenAI launches new tools to help businesses build AI agents - TechCrunch",
         "url": "https://techcrunch.com/2025/03/11/openai-launches-new-tools-to-help-businesses-build-ai-agents/",
         "score": 0.70847535,
         "published_date": "Tue, 11 Mar 2025 17:00:00 GMT",
         "content": "OpenAI launches new tools to help businesses build AI agents | TechCrunch OpenAI launches new tools to help businesses build AI agents | TechCrunch On Tuesday, OpenAI released new tools designed to help developers and enterprises build AI agents – automated systems that can independently accomplish tasks – using the company’s own AI models and frameworks. The tools are part of OpenAI’s new Responses API, which lets businesses develop custom AI agents that can perform web searches, scan through company files, and navigate websites, much like OpenAI’s Operator product. Using the Responses API, developers can tap the same AI models (in preview) under the hood of OpenAI’s ChatGPT Search web search tool: GPT-4o search and GPT-4o mini search.",
         "search_type": "Third-party Coverage"
     },
     {
         "title": "New embedding models and API updates - Announcements - OpenAI Developer ...",
         "url": "https://community.openai.com/t/new-embedding-models-and-api-updates/610540",
         "score": 0.752468,
         "content": "We are releasing new models, reducing prices for GPT-3.5 Turbo, and introducing new ways for developers to manage API keys and understand API usage. The new models include: Two new embedding models An updated GPT-4 Turbo preview model An updated GPT-3.5 Turbo model An updated text moderation model By default, data sent to the OpenAI API will not be used to train or improve OpenAI models. All",
         "search_type": "Self-reported News"
     },
     ...
 ]