5 Lines to Search Newsletters

Read By Agents converts newsletter archives to agent-readable markdown. No API key required. Rate limit: 1,000 requests/hour/IP.

API Endpoints

EndpointReturns
GET /api/directoryAll newsletters (JSON)
GET /api/feed/{slug}Issues for a newsletter (JSON)
GET /api/issue/{slug}/{date}Issue content (Markdown)
GET /api/search?q={query}Search results (JSON)

curl

bash
# List all newsletters
curl -s https://readbyagents.com/api/directory | jq '.newsletters[:3]'

# Read the latest issue
curl -s https://readbyagents.com/api/feed/morning-digest | jq '.issues[0]'

# Get issue as markdown
curl -s https://readbyagents.com/api/issue/morning-digest/2026-04-01

Python

python
import urllib.request, json

# Search newsletters
url = "https://readbyagents.com/api/directory"
newsletters = json.loads(urllib.request.urlopen(url).read())
for nl in newsletters["newsletters"][:5]:
    print(nl["name"], nl["slug"])

TypeScript

typescript
// npm install @readbyagents/client
import { createClient } from "@readbyagents/client";

const rba = createClient();
const feed = await rba.feed("morning-digest");
console.log(feed.issues[0].subject);

LangChain

python
from rba_tool import ReadByAgentsTool

tool = ReadByAgentsTool()
result = tool.run("bitcoin newsletter latest")
print(result)

CrewAI

python
from rba_tool import ReadByAgentsTool
from crewai import Agent

researcher = Agent(
    role="Newsletter Analyst",
    tools=[ReadByAgentsTool()]
)

Want your newsletter in the directory?

Claim your newsletter