Fetch Medium Daily Digest emails from Gmail and extract article information with paywall-free links.
This skill connects to Gmail via IMAP, retrieves the latest Medium Daily Digest email, extracts article URLs, and provides Freedium mirror links to bypass Medium's paywall.
Environment Variables Required:
EMAIL_ADDRESS - Gmail address (e.g., user@gmail.com)EMAIL_PASSWORD - Gmail App Password (not regular password)How to get Gmail App Password:
python
from scripts.fetch_medium import fetch_medium_digest
# Fetch today's Medium digest
result = fetch_medium_digest()
if result:
print(f"Digest: {result['digest_title']}")
for article in result['articles']:
print(f"- {article['title']}")
print(f" Freedium: {article['freedium_url']}")
python
result = fetch_medium_digest(
email_address="user@gmail.com",
password="xxxx xxxx xxxx xxxx"
)
The fetch_medium_digest() function returns:
python
{
'digest_date': 'Mon, 16 Feb 2026 12:30:00 +0000',
'digest_title': '10 OpenClaw Use Cases for a Personal AI Assistant | Balazs Kocsis',
'articles': [
{
'title': 'Article Title Here',
'author': 'username',
'url': 'https://medium.com/@username/article-slug',
'freedium_url': 'https://freedium-mirror.cfd/https://medium.com/@username/article-slug'
},
# ... more articles
]
}
To generate article summaries, fetch the content via Freedium and summarize:
python
import requests
from bs4 import BeautifulSoup
def summarize_article(freedium_url):
response = requests.get(freedium_url)
soup = BeautifulSoup(response.content, 'html.parser')
text = soup.get_text(separator=' ', strip=True)
# Return first 300 chars as summary
return text[:300] + "..."
max_articles parameter)