Skip to main content

Convenient API + CLI to fetch web content for agents

Project description

lurkers

Convenient API + CLI to fetch web content for agents.

Status: early PoC. APIs will change.

Sources

  • HTML pages (any URL) — extracted to markdown via trafilatura
  • YouTube videos — title + channel + transcript
  • Twitter/X posts — via fxtwitter (no auth required)
  • RSS/Atom feeds — list of entries, each fetched through the unified dispatch

Install

pip install lurkers

Python

import lurkers

# unified entry point — auto-detects source type
doc = lurkers.fetch("https://news.ycombinator.com/item?id=1")
doc = lurkers.fetch("https://www.youtube.com/watch?v=dQw4w9WgXcQ")
doc = lurkers.fetch("https://x.com/elonmusk/status/12345")

# RSS / Atom: returns list[Document]
docs = lurkers.feed("https://news.ycombinator.com/rss", limit=10)

# async siblings
import asyncio
docs = asyncio.run(lurkers.afeed("https://example.com/rss.xml"))

Every fetch returns a Document:

class Document(BaseModel):
    source: str               # canonical URL
    source_type: str          # "html" | "youtube" | "twitter"
    title: str | None
    content: str              # markdown / plain text
    fetched_at: datetime
    metadata: dict[str, Any]  # source-specific (video_id, author_handle, ...)

CLI

lurkers fetch https://example.com/article            # JSON to stdout
lurkers fetch https://youtu.be/dQw4w9WgXcQ --pretty
lurkers feed https://news.ycombinator.com/rss -n 5

License

Apache-2.0.

Project details


Download files

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

Source Distribution

lurkers-0.1.0.tar.gz (74.4 kB view details)

Uploaded Source

Built Distribution

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

lurkers-0.1.0-py3-none-any.whl (17.2 kB view details)

Uploaded Python 3

File details

Details for the file lurkers-0.1.0.tar.gz.

File metadata

  • Download URL: lurkers-0.1.0.tar.gz
  • Upload date:
  • Size: 74.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.13 {"installer":{"name":"uv","version":"0.11.13","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for lurkers-0.1.0.tar.gz
Algorithm Hash digest
SHA256 d0857a0bbce737e7e2e6acc04b2752a7530b30241658ae64f8c3b28b4bdee03a
MD5 b1486aded9d7b45293e4b583cfebbd4c
BLAKE2b-256 09ae91e6267ba4cf57fa7ce6e633fff055cf312a44499ae3d76bcd1c4184efa1

See more details on using hashes here.

File details

Details for the file lurkers-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: lurkers-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 17.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.13 {"installer":{"name":"uv","version":"0.11.13","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for lurkers-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 84cafc9bb8b012089f0731ecdc765e07edefce2422e00053e9e795a30dc8b5c9
MD5 3991698f826a5891088e7ee4e5ae01b3
BLAKE2b-256 92829392d153f2358f2cdba6260054c5cd8ecb68e813a96ba89853318220dbad

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page