anybrowse
Turn any URL into LLM-ready Markdown. Python SDK for anybrowse.dev.
Handles JavaScript, dynamic pages, paywalls, and anti-bot measures — so your agents don't have to.
Install
pip install anybrowse
With LangChain support:
pip install anybrowse[langchain]
With LlamaIndex support:
pip install anybrowse[llamaindex]
Everything:
pip install anybrowse[all]
Quick Start
from anybrowse import AnybrowseClient
client = AnybrowseClient() # uses free tier
# or: client = AnybrowseClient(api_key="your-key")
result = client.scrape("https://techcrunch.com")
print(result.markdown)
results = client.search("web scraping API 2025")
for r in results:
print(r.title, r.url)
Client Usage
from anybrowse import AnybrowseClient
client = AnybrowseClient(api_key="your-api-key") # optional for free tier
# Scrape a page → clean Markdown
page = client.scrape("https://news.ycombinator.com")
print(page.markdown)
# Scrape with context (better extraction)
page = client.scrape(
"https://stripe.com/pricing",
context="Extract all pricing tiers and their features"
)
# Crawl a site (multiple pages)
pages = client.crawl("https://docs.example.com", limit=20)
# Web search → Markdown results
results = client.search("best Python web scraping libraries 2024", count=5)
for r in results:
print(r.title, r.url)
Convenience Functions
import anybrowse
# No client needed
result = anybrowse.scrape("https://example.com")
print(result.markdown)
results = anybrowse.search("AI news today", count=5)
LangChain Integration
from anybrowse.langchain import AnybrowseScrape, AnybrowseSearch, get_tools
from langchain.agents import initialize_agent, AgentType
from langchain.chat_models import ChatOpenAI
llm = ChatOpenAI(model="gpt-4")
tools = get_tools(api_key="your-api-key")
agent = initialize_agent(tools, llm, agent=AgentType.OPENAI_FUNCTIONS)
agent.run("Research the latest news on AI agents and summarize the top 3 stories")
LlamaIndex Integration
from anybrowse.llamaindex import AnybrowseReader
reader = AnybrowseReader(api_key="your-api-key")
docs = reader.load_data([
"https://docs.python.org/3/library/asyncio.html",
"https://fastapi.tiangolo.com/tutorial/",
])
from llama_index.core import VectorStoreIndex
index = VectorStoreIndex.from_documents(docs)
query_engine = index.as_query_engine()
response = query_engine.query("How do I use async with FastAPI?")
MCP (Model Context Protocol)
Use anybrowse directly in Claude Desktop:
{
"mcpServers": {
"anybrowse": {
"command": "npx",
"args": ["-y", "anybrowse-mcp"],
"env": {
"ANYBROWSE_API_KEY": "your-api-key"
}
}
}
}
Free Tier
You get 10 free scrapes per day. To upgrade to 50 per day, enter your email:
from anybrowse import upgrade_free_tier
upgrade_free_tier("you@example.com")
# You now have 50 free scrapes per day
Or with curl:
curl -X POST https://anybrowse.dev/upgrade-free \
-H "Content-Type: application/json" \
-d '{"email":"you@example.com"}'
Need more? → anybrowse.dev/pricing
Links
- 🌐 anybrowse.dev
- 📖 Docs
- 💬 GitHub
Metadata
Release files for anybrowse 1.0.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| anybrowse-1.0.1.tar.gz | 4.3 kB | Without provenance | Details for anybrowse-1.0.1.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| anybrowse-1.0.1-py3-none-any.whl | Python 3 | none | any | Details for anybrowse-1.0.1-py3-none-any.whl |
Total release size: 10.4 kB
Release files / anybrowse-1.0.1.tar.gz
| Download URL | anybrowse-1.0.1.tar.gz |
|---|---|
| Size | 4.3 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
40e5fe4752d77032947db8cf4ff32dbb8ef3dd13ab4293b1fda1cd7e1d8c1761
|
|
BLAKE2b-256 checksum How to use checksums |
ce38ed25498635b2c8fb788a8408ad18e9ed7cdb86272fee762e6e65dc1f4535
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.11.2
|
Release files / anybrowse-1.0.1-py3-none-any.whl
| Download URL | anybrowse-1.0.1-py3-none-any.whl |
|---|---|
| Size | 6.1 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
5f80e0915a2e0a8baee6a09abbd453164ab7d7c2a0143b4fc068e6fd61e0fa65
|
|
BLAKE2b-256 checksum How to use checksums |
08ece95cf55170ea905e28d653efbdf76f1e4930b2502f2ab3cdd4396d57de45
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.11.2
|
Security for anybrowse 1.0.1
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.