Skip to main content

langchain-agentfetch

Drop-in LangChain Tool wrappers for AgentFetch — token-budgeted web fetch for AI agents.

License: MIT PyPI

Stop building your own web fetch / token-truncation / cache layer for every LangChain agent. AgentFetch handles routing (Trafilatura → Jina → FireCrawl → PDF), caching (6h Redis), and token budgeting in one tool.

Install

pip install langchain-agentfetch

Quick start

Get a free API key (500 fetches/mo, no credit card) at agentfetch.dev.

import os
from langchain_agentfetch import AgentFetchTool

os.environ["AGENTFETCH_API_KEY"] = "af_xxx"

tool = AgentFetchTool()
result = tool.invoke({"url": "https://news.ycombinator.com", "max_tokens": 2000})
print(result)

All four tools

Tool When to use
AgentFetchTool (fetch_url) You have a specific URL to fetch
EstimateTokensTool You want to know if a URL fits your context window before fetching
FetchMultipleTool You have multiple URLs (search results, link lists)
SearchAndFetchTool You have a research question, not specific URLs

Use the toolkit (recommended for agents)

from langchain.agents import create_agent
from langchain_agentfetch import AgentFetchToolkit

toolkit = AgentFetchToolkit(api_key="af_xxx")
tools = toolkit.get_tools()

agent = create_agent(
    model="openai:gpt-4o-mini",
    tools=tools,
    system_prompt=(
        "You are a research assistant. Estimate tokens before fetching long URLs."
    ),
)

agent.invoke({
    "messages": [{"role": "user", "content": "What's on Hacker News now?"}]
})

The agent will:

  1. Use agentfetch_search_and_fetch or agentfetch_fetch_url to get the page
  2. Get clean Markdown back, already token-truncated
  3. Reason over it without blowing the context window

Configuration

Env var Default Notes
AGENTFETCH_API_KEY required Get one free at agentfetch.dev
AGENTFETCH_BASE_URL https://api.agentfetch.dev Override only if self-hosting

You can also pass api_key= and base_url= directly to any Tool / Toolkit constructor.

Why a token-aware fetch tool

LangChain's default tools (like requests_get) return raw HTML/JSON with no truncation, no awareness of your context budget, and no caching. That works at toy scale; it falls over the moment your agent fetches a 50KB news article into a 4K context window.

AgentFetch was built for that case:

  • Pre-fetch token estimation so the agent can skip a URL it can't afford
  • Server-side max_tokens truncation before the response leaves the API
  • 6-hour cache for repeat fetches (~$0.0001 each)
  • Auto-routing so the agent doesn't pick between Jina, FireCrawl, and pypdf manually

Pricing

Same pay-per-call pricing as the AgentFetch API: from $0.001/fetch, 500 free on signup. No subscription required. See agentfetch.dev/pricing.

License

MIT.

Download files

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

Source Distribution

langchain_agentfetch-0.1.1.tar.gz (8.8 kB view details)

Uploaded Source

Built Distribution

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

langchain_agentfetch-0.1.1-py3-none-any.whl (9.1 kB view details)

Uploaded Python 3

File details

Details for the file langchain_agentfetch-0.1.1.tar.gz.

File metadata

  • Download URL: langchain_agentfetch-0.1.1.tar.gz
  • Upload date:
  • Size: 8.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.12.2

File hashes

Hashes for langchain_agentfetch-0.1.1.tar.gz
Algorithm Hash digest
SHA256 eb9e684549f1322bbf3b0ac8ca537b4cc7e2eeb6dc11c5f8f312cc22f2d31114
MD5 1734370a8d4aec5a7639a309b40076ef
BLAKE2b-256 96a83c0dda6e177158ba28a395974f5c8b54a81799f01c556881210e35789ff5

See more details on using hashes here.

File details

Details for the file langchain_agentfetch-0.1.1-py3-none-any.whl.

File metadata

File hashes

Hashes for langchain_agentfetch-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 d26e148833aa1a20574ddb02db7845de71d4878bb82fd221ee3c16b8eed7e072
MD5 29b6b3c2f4789ba7c984e3649b119896
BLAKE2b-256 ec74769fd1b59c5da8b8ed6da0315fd81379fc11a0c57060a33b2a4d452cec7b

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

0.1.1 This release

2 files

0.1.0

2 files

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