Optional Sources¶
Beyond RSS feeds, Distill can ingest content from several additional sources. Each requires either an API key or a data export.
Reddit¶
Ingest your saved and upvoted posts.
Install:
Configure:
[reddit]
client_id = "your-client-id"
client_secret = "your-client-secret"
username = "your-reddit-username"
Create a Reddit app at reddit.com/prefs/apps (choose "script" type).
Run:
YouTube¶
Ingest video metadata and transcripts from your liked/saved videos.
Install:
Configure:
Get a key from Google Cloud Console with YouTube Data API v3 enabled.
Run:
Gmail (newsletters)¶
Ingest newsletters from your Gmail using the List-Unsubscribe header to identify newsletters.
Install:
Setup:
- Create OAuth credentials in Google Cloud Console
- Enable the Gmail API
- Download
credentials.json
Run:
The first run opens a browser for OAuth consent. A token.json is saved for subsequent runs.
Browser history¶
Read recently visited URLs from Chrome or Safari.
No extra installation needed.
Common domains (Google, GitHub, localhost, StackOverflow) are filtered out by default. Customize the blocklist in .distill.toml:
Substack¶
Ingest posts from specific Substack newsletters:
uv run python -m distill intake --output ./insights \
--substack-blogs "https://newsletter.example.com,https://another.substack.com"
Or in config:
This fetches the Substack RSS feed and extracts full article text.
LinkedIn (GDPR export)¶
Import from your LinkedIn data export:
- Request your data at linkedin.com/mypreferences/d/download-my-data
- Download and extract the ZIP
Reads: shares, articles, saved items, and reactions.
Twitter/X (data export)¶
Import from your X data export:
- Request your data at x.com/settings/download_your_data
- Download and extract the ZIP
Combining sources¶
Use --sources to run specific sources, or omit it to auto-detect all configured sources: