Skip to main content

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"
      }
    }
  }
}

→ Full MCP setup guide


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


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)

Source distribution for anybrowse 1.0.1
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)

Table of built distributions (wheels) for anybrowse 1.0.1
File Interpreter ABI Platform Actions
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.

Release history Release notifications | RSS feed

This release

1.0.1 This release

2 release files No provenance

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