Skip to main content

llama-index-readers-skim

Give your LlamaIndex pipeline the ability to read any URL — clean Markdown, ~4x smaller than raw HTML. No ads, no nav, no boilerplate.

PyPI version License: MIT

llama-index-readers-skim is the official LlamaIndex reader for Skim — the clean reader API for AI agents. It exposes one reader, SkimReader, that turns any web page into a LlamaIndex Document of agent-ready Markdown plus structured metadata. Output is ~4x smaller than raw HTML — your pipeline ingests more pages with fewer tokens.

Two ways to pay: card plan with API key (free tier: 1,000 reads/month — skim402.com/pricing) or x402 wallet pay-per-call ($0.002 USDC on Base, no account needed).

See it before you wire it: try Skim free in your browser — 10 free skims a day, no wallet, no signup. Paste a URL, see exactly what your agent gets back.


Install

pip install llama-index-readers-skim

Quickstart (60 seconds)

1. Get a free API key

Go to skim402.com/pricing, sign up for the free plan (1,000 reads/month), and copy your sk402_... key.

2. Set the env var

export SKIM_API_KEY=sk402_your_key_here

3. Use it

from llama_index.readers.skim import SkimReader

reader = SkimReader()  # reads SKIM_API_KEY from the environment

documents = reader.load_data(urls=["https://en.wikipedia.org/wiki/HTTP_402"])
print(documents[0].text)
print(documents[0].metadata)

Each Document contains the clean Markdown as text and page metadata in metadata. ~4x smaller than raw HTML.


Alternative: pay per call with a crypto wallet

If you prefer x402 wallet pay-per-call instead of a card plan:

export SKIM_WALLET_PRIVATE_KEY=0xYOUR_BASE_WALLET_PRIVATE_KEY

Fund a dedicated Base wallet with a small USDC balance. Each read costs $0.002 on Base. Full setup guide: https://skim402.com/wallet.

Use a fresh wallet, not your personal one. This wallet's private key signs payment authorizations on your machine — treat it like a hot wallet for paying $0.002 tolls, not a savings account.


Build an index from web pages

SkimReader returns standard LlamaIndex Document objects, so it drops straight into any ingestion pipeline:

from llama_index.core import VectorStoreIndex
from llama_index.readers.skim import SkimReader

reader = SkimReader()
documents = reader.load_data(
    urls=[
        "https://example.com/article-one",
        "https://example.com/article-two",
    ]
)

index = VectorStoreIndex.from_documents(documents)
query_engine = index.as_query_engine()
print(query_engine.query("What do these articles have in common?"))

Output shape

load_data returns a list of Document objects. Each Document has:

  • text — the cleaned article body in Markdown.
  • metadata — a dict with the source URL plus the page metadata Skim extracted:
{
    "source": "https://example.com/article",
    "title": "Example article",
    "byline": "Jane Doe",
    "publishedAt": "2025-01-15",
    "lang": "en",
    "excerpt": "A short summary...",
}

Empty and None metadata values are dropped. Set include_metadata=False to keep only the source URL.


Configuration

SkimReader takes the following parameters:

Parameter Default Notes
api_key $SKIM_API_KEY Card-plan API key (sk402_...). Get one free at skim402.com/pricing. Takes priority over private_key.
private_key $SKIM_WALLET_PRIVATE_KEY Wallet lane only. Hex private key for the Base wallet. Ignored when api_key is set.
base_url https://skim402.com Override the API base URL. For self-hosting or local development.
max_price_usd 0.01 Wallet lane only. Hard cap on per-call price in USD. Skim is $0.002/call.
include_metadata True Populate each Document's metadata with the page metadata Skim returns.
timeout 60 Per-request timeout in seconds.
# Card key (recommended)
reader = SkimReader(api_key="sk402_...")

# Or wallet
reader = SkimReader(
    private_key="0x...",
    max_price_usd=0.005,
    include_metadata=False,
)

Security

  • No outbound telemetry from this package. llama-index-readers-skim only talks to skim402.com (or whatever you set as base_url). No analytics, no error reporting, no phone-home.
  • Wallet lane: the private key only signs payment authorizations locally — it never leaves your machine.

Links


License

MIT

Release files for llama-index-readers-skim 0.1.4

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

Source distribution (sdist)

Source distribution for llama-index-readers-skim 0.1.4
File Size Uploaded
llama_index_readers_skim-0.1.4.tar.gz 8.3 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for llama-index-readers-skim 0.1.4
File Interpreter ABI Platform
llama_index_readers_skim-0.1.4-py3-none-any.whl Python 3 none any Details

Total release size: 16.3 kB

Release files / llama_index_readers_skim-0.1.4.tar.gz

Download URL llama_index_readers_skim-0.1.4.tar.gz
Size 8.3 kB
Tags Source
SHA-256 checksum
How to use checksums
80cd070a710d4db4be2807abaef1ccdcc3b96af35c5dc3fe9b27915b9600e1b5
BLAKE2b-256 checksum
How to use checksums
7e2f2aceb31696366e47a7d0cab0076ad3fe57b5d537433db9f986b56cf88374
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.9.5

Release files / llama_index_readers_skim-0.1.4-py3-none-any.whl

Download URL llama_index_readers_skim-0.1.4-py3-none-any.whl
Size 7.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
71eb8197d1104fac94b9f7a3b96c66025fe984bc3b7edce350456cbef0c19253
BLAKE2b-256 checksum
How to use checksums
71978be09c6f617e818707e09ad1af5f015baeb91fda3516e51e01d906147207
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.9.5

Release history Release notifications | RSS feed

This release

0.1.4 This release

2 release files

0.1.3

2 release files

0.1.2

2 release files

0.1.1

2 release files

0.1.0

2 release 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