llamaindex-webmetadata-extractor
LlamaIndex integration for the Web Metadata, OpenGraph & Contact Extractor API — a Reader that ingests any URL as a clean-Markdown Document for RAG, plus agent tools for contact discovery and SEO auditing.
pip install llamaindex-webmetadata-extractor
Quick start
Get a free API key on RapidAPI (1,000 requests/month, no credit card required).
export WEBMETADATA_API_KEY=your-rapidapi-key
As a Reader (RAG ingestion)
from llamaindex_webmetadata_extractor import WebMarkdownReader
from llama_index.core import VectorStoreIndex
reader = WebMarkdownReader() # reads WEBMETADATA_API_KEY, or pass api_key=...
documents = reader.load_data(["https://example.com", "https://another-site.com"])
index = VectorStoreIndex.from_documents(documents)
Each page's boilerplate (nav, ads, cookie banners) is stripped server-side before it reaches you, so Document.text is close to ready for chunking/embedding as-is. Document.metadata also carries the page's title, word count, reading time, and a short summary snippet. A URL that fails to fetch is skipped by default (skip_errors=True); pass skip_errors=False to raise instead.
As agent tools
from llamaindex_webmetadata_extractor import get_tools
from llama_index.core.agent import ReActAgent
tools = get_tools(api_key="YOUR_RAPIDAPI_KEY")
agent = ReActAgent.from_tools(tools, llm=llm)
| Tool | Use it when the agent needs to... |
|---|---|
web_metadata_extract |
Get a broad, all-in-one picture of a page (SEO, contacts, tech stack, security, links) |
web_contacts_extract |
Find public emails/phones/social links for outreach or lead-gen workflows |
web_seo_audit |
Grade a page's SEO with a score, warnings, and readability metrics |
Each tool returns a JSON string; API errors come back as {"error": true, "status_code": ..., "detail": ...} instead of raising, so an agent loop can react to them without crashing. For content ingestion (as opposed to a one-off agent tool call), use WebMarkdownReader above instead.
Configuration
Pass api_key explicitly to the reader/tool factories, or set it once via the WEBMETADATA_API_KEY environment variable and omit it everywhere.
Links
- Python SDK this wraps (
webmetadata-extractor) - Also available for LangChain and CrewAI
- Full API documentation
- Live interactive demo — no signup needed
License
MIT
Metadata
Release files for llamaindex-webmetadata-extractor 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| llamaindex_webmetadata_extractor-0.1.0.tar.gz | 5.6 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| llamaindex_webmetadata_extractor-0.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 12.0 kB
Release files / llamaindex_webmetadata_extractor-0.1.0.tar.gz
| Download URL | llamaindex_webmetadata_extractor-0.1.0.tar.gz |
|---|---|
| Size | 5.6 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
ec3e0c3431509995df78fbf9cb86521ee34b0783a1579429470fad713220bdfc
|
|
BLAKE2b-256 checksum How to use checksums |
3c19d8b2a1d817f6235a071ef19548e8aa595fc858445e0482ba29693bb8a9c0
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.11.9
|
Release files / llamaindex_webmetadata_extractor-0.1.0-py3-none-any.whl
| Download URL | llamaindex_webmetadata_extractor-0.1.0-py3-none-any.whl |
|---|---|
| Size | 6.3 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
d803a85f697970c8b2c65725c4d9818c3929af72f6a3a8f58ad276c9f4c27ab9
|
|
BLAKE2b-256 checksum How to use checksums |
4cb8394dfc6fd00894ce25e771d48c1e8fed57ed990827e5c21f769f249eedf5
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.11.9
|