Skip to main content

Python wrapper for the Tavily API

Project description

Tavily Python Wrapper

The Tavily Python wrapper allows for easy interaction with the Tavily API, offering the full range of our search and extract functionalities directly from your Python programs. Easily integrate smart search and content extraction capabilities into your applications, harnessing Tavily's powerful search and extract features.

Installing

pip install tavily-python

Tavily Search

Search lets you search the web for a given query.

Usage

Below are some code snippets that show you how to interact with our search API. The different steps and components of this code are explained in more detail in the API Methods section further down.

Getting and printing the full Search API response

from tavily import TavilyClient

# Step 1. Instantiating your TavilyClient
tavily_client = TavilyClient(api_key="tvly-YOUR_API_KEY")

# Step 2. Executing a simple search query
response = tavily_client.search("Who is Leo Messi?")

# Step 3. That's it! You've done a Tavily Search!
print(response)

This is equivalent to directly querying our REST API.

Generating context for a RAG Application

from tavily import TavilyClient

# Step 1. Instantiating your TavilyClient
tavily_client = TavilyClient(api_key="tvly-YOUR_API_KEY")

# Step 2. Executing a context search query
context = tavily_client.get_search_context(query="What happened during the Burning Man floods?")

# Step 3. That's it! You now have a context string that you can feed directly into your RAG Application
print(context)

This is how you can generate precise and fact-based context for your RAG application in one line of code.

Getting a quick answer to a question

from tavily import TavilyClient

# Step 1. Instantiating your TavilyClient
tavily_client = TavilyClient(api_key="tvly-YOUR_API_KEY")

# Step 2. Executing a Q&A search query
answer = tavily_client.qna_search(query="Who is Leo Messi?")

# Step 3. That's it! Your question has been answered!
print(answer)

This is how you get accurate and concise answers to questions, in one line of code. Perfect for usage by LLMs!

Tavily Extract

Extract web page content from one or more specified URLs.

Usage

Below are some code snippets that demonstrate how to interact with our Extract API. Each step and component of this code is explained in greater detail in the API Methods section below.

Extracting Raw Content from Multiple URLs using Tavily Extract API

from tavily import TavilyClient

# Step 1. Instantiating your TavilyClient
tavily_client = TavilyClient(api_key="tvly-YOUR_API_KEY")

# Step 2. Defining the list of URLs to extract content from
urls = [
    "https://en.wikipedia.org/wiki/Artificial_intelligence",
    "https://en.wikipedia.org/wiki/Machine_learning",
    "https://en.wikipedia.org/wiki/Data_science",
    "https://en.wikipedia.org/wiki/Quantum_computing",
    "https://en.wikipedia.org/wiki/Climate_change"
] # You can provide up to 20 URLs simultaneously

# Step 3. Executing the extract request
response = tavily_client.extract(urls=urls, include_images=True)

# Step 4. Printing the extracted raw content
for result in response["results"]:
    print(f"URL: {result['url']}")
    print(f"Raw Content: {result['raw_content']}")
    print(f"Images: {result['images']}\n")

# Note that URLs that could not be extracted will be stored in response["failed_results"]

Tavily Crawl (Invitational Beta)

Crawl lets you traverse a site like a graph starting from a base URL.

Note: Crawl is currently available on an invite-only basis. For more information, please visit crawl.tavily.com

Usage

Below are some code snippets that demonstrate how to interact with our Crawl API. Each step and component of this code is explained in greater detail in the API Methods section below.

Crawling a website with a query

from tavily import TavilyClient

# Step 1. Instantiating your TavilyClient
tavily_client = TavilyClient(api_key="tvly-YOUR_API_KEY")

# Step 2. Defining the starting URL and query
start_url = "https://wikipedia.org/wiki/Lemon"
search_term = "Find all pages on citrus fruits"

# Step 3. Executing the crawl request with a query to surface only pages containing “remote”
response = tavily_client.crawl(
    url=start_url,
    max_depth=3,
    limit=50,
    query=search_term
)

# Step 4. Printing pages matching the query
for result in response["results"]:
    print(f"URL: {result['url']}")
    print(f"Snippet: {result['raw_content'][:200]}...\n")

Documentation

For a complete guide on how to use the different endpoints and their parameters, please head to our Python API Reference.

Cost

Tavily is free for personal use for up to 1,000 credits per month. Head to the Credits & Pricing in our documentation to learn more about how many API credits each request costs.

License

This project is licensed under the terms of the MIT license.

Contact

If you are encountering issues while using Tavily, please email us at support@tavily.com. We'll be happy to help you.

If you want to stay updated on the latest Tavily news and releases, head to our Developer Community to learn more!

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

tavily_python-0.7.1.tar.gz (16.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

tavily_python-0.7.1-py3-none-any.whl (14.6 kB view details)

Uploaded Python 3

File details

Details for the file tavily_python-0.7.1.tar.gz.

File metadata

  • Download URL: tavily_python-0.7.1.tar.gz
  • Upload date:
  • Size: 16.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.0

File hashes

Hashes for tavily_python-0.7.1.tar.gz
Algorithm Hash digest
SHA256 ccbba587fa38d181d54670d6ce26e4f31ad9c7c7f0835d191b9bb542b085dc36
MD5 0cd4f7d99f8f39c2a76daa001ca2d42a
BLAKE2b-256 64539b2103156e221f00273021758b23666c7acb1462e02d9fb7e49bf9f9884d

See more details on using hashes here.

File details

Details for the file tavily_python-0.7.1-py3-none-any.whl.

File metadata

  • Download URL: tavily_python-0.7.1-py3-none-any.whl
  • Upload date:
  • Size: 14.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.0

File hashes

Hashes for tavily_python-0.7.1-py3-none-any.whl
Algorithm Hash digest
SHA256 a73c8e68925a62bfe08e3a8bb4434d64d4e62c82081cc8a68a071b78673e9590
MD5 5aa0668c6360a753a8f322a1e64f8872
BLAKE2b-256 e1edc861140bd072e91efce3a49ac6fc700f7bde0d696ce7fa288649859c70b6

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page