Skip to main content

pydantic-scavio

Real-time Google search for Pydantic AI agents, powered by Scavio — a unified search API for AI agents covering 33 platforms (Google, YouTube, Amazon, Walmart, HEB, Kroger, eBay, Target, Home Depot, Reddit, X, TikTok, TikTok Shop, Instagram, LinkedIn, Threads, Kuaishou, Zillow, Redfin, Booking.com, Tripadvisor, Airbnb, Yelp, Indeed, Glassdoor, the app stores, G2, Capterra, ad transparency, SEC EDGAR and Companies House) plus an Extract endpoint for any URL.

Scope: 1 endpoint, by design

This package is a curated subset of the Scavio API, not a wrapper around all of it. It ships exactly 1 of Scavio's 200 endpoints:

Tool Endpoint Platform Credits
scavio_search POST /api/v2/google Google (web search) 1

That is the whole surface, and it stays that way on purpose: one small, well-described tool an agent picks correctly every time beats a hundred it has to disambiguate between.

Credits: 1 credit per search, flat. Nothing here reaches the endpoints that cost more (YouTube transcripts are 5, most Instagram calls are 2, a LinkedIn job is 30), nor the body-priced ones whose cost depends on the request rather than a flat number (Walmart, Threads, Kuaishou and extract).

Reaching the rest of the API

Scavio covers 200 live endpoints: 199 across 33 platforms, plus extract, which reads any URL. The platforms are Google, YouTube, Amazon, Walmart, HEB, Kroger, eBay, Target, Home Depot, Reddit, X, TikTok, TikTok Shop, Instagram, LinkedIn, Threads, Kuaishou, Zillow, Redfin, Booking.com, Tripadvisor, Airbnb, Yelp, Indeed, Glassdoor, the Apple App Store, Google Play, SEC EDGAR, Companies House, G2, Capterra, Google Ads Transparency and the Meta Ad Library. The most recent batch added 93 endpoints across 22 platforms plus extract — 21 of those platforms are new to Scavio and Walmart was rebuilt. None of them are reachable through this package, which stays at Google web search. Point a Pydantic AI agent at the hosted MCP server for all of them:

from pydantic_ai import Agent
from pydantic_ai.mcp import MCPServerStreamableHTTP

scavio = MCPServerStreamableHTTP(
    'https://mcp.scavio.dev/mcp',
    headers={'x-api-key': 'sk_live_...'},
)

agent = Agent('openai:gpt-5.5', toolsets=[scavio])

That server exposes 191 tools; a curated subset loads by default and the rest is one env var away. See the MCP docs.

Alternatively, call the scavio SDK directly — it is already a dependency here — and wrap whichever endpoints you need as your own tools: client.youtube.transcript(...), client.ebay.search(...), client.sec.filings(...), client.meta_ads.search(...). Reading an arbitrary URL is a top-level method, not a namespace: client.extract(url, format="markdown"), never client.extract.extract(...). See the SDK reference and the full endpoint list.

The newer verticals each have their own page: eBay, Target and Home Depot, Zillow and Redfin, Booking.com, Tripadvisor and Airbnb, Yelp, Indeed and Glassdoor, the Apple App Store and Google Play, G2 and Capterra, Google Ads Transparency and the Meta Ad Library, SEC EDGAR and Companies House, Threads and Kuaishou, plus Extract.

Install

pip install pydantic-scavio

Get a free API key (50 one-time signup credits, no monthly refill, no credit card) at dashboard.scavio.dev.

Usage

from pydantic_ai import Agent
from pydantic_scavio import scavio_search_tool

agent = Agent(
    "openai:gpt-5.5",
    tools=[scavio_search_tool(api_key="sk_live_...")],
    system_prompt="Search the web when you need current information.",
)

result = agent.run_sync("What changed in the latest Pydantic AI release?")
print(result.output)

Fixing parameters for the agent

Parameters you pass to the factory are fixed for all searches and hidden from the LLM's tool schema; parameters you leave unset stay available for the LLM to set per call.

# Always search from the US in English; the LLM only controls the query.
tool = scavio_search_tool(api_key="sk_live_...", country_code="us", language="en")

Sharing a client

from scavio import AsyncScavioClient
from pydantic_scavio import scavio_search_tool

client = AsyncScavioClient(api_key="sk_live_...")
tool = scavio_search_tool(client=client)

Result shape

The tool returns list[ScavioSearchResult]:

Field Type Description
position int Rank of the result on the page
title str Result title
url str Result URL
domain str Result domain
content str Snippet
date str | None Publication date when available

License

MIT

Metadata

Release files for pydantic-scavio 0.1.5

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for pydantic-scavio 0.1.5
File Size Uploaded Provenance
pydantic_scavio-0.1.5.tar.gz 8.8 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for pydantic-scavio 0.1.5
File Interpreter ABI Platform
pydantic_scavio-0.1.5-py3-none-any.whl Python 3 none any Details

Total release size: 15.3 kB

Release files / pydantic_scavio-0.1.5.tar.gz

Download URL pydantic_scavio-0.1.5.tar.gz
Size 8.8 kB
Tags Source
SHA-256 checksum
How to use checksums
a70293c1c83442ad586423bfa5e234964193edadaf3a0f169d3751523cee0076
BLAKE2b-256 checksum
How to use checksums
f74c17b9918723ede636cdcee7bc6b20ec90d9bcf5c956400ffad4865d369fa4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.15

Release files / pydantic_scavio-0.1.5-py3-none-any.whl

Download URL pydantic_scavio-0.1.5-py3-none-any.whl
Size 6.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
d012e1b04b3dfffc597d0411972ffcb9cabbe509e31074237d70ec387c5e3cf6
BLAKE2b-256 checksum
How to use checksums
d41884ad63b2177abfcd9e6304f20239a35b685257724cbeb5dd392a6c58e37d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.15

Security for pydantic-scavio 0.1.5

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page