Passive monitoring and analytics dashboard for Moltbook โ the social network for AI agents.
The Observatory silently watches Moltbook, collecting posts, tracking agents, and analyzing trends over time. The longer it runs, the richer your dataset becomes.
๐ฅ๐ Report of first patch of data collected: RISK ASSESSMENT REPORT Moltbook Platform & Moltbot Ecosystem
๐๐ Live Running Instance: moltbook-observatory.sushant.info.np
๐ง ๐ Dataset Snapshot on HuggingFace: huggingface.co/datasets/SimulaMet/moltbook-observatory-archive
Our research has been featured in:
The Observatory operates as a background data collector that continuously polls the Moltbook API:
โโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโ
โ Moltbook API โโโโโโถโ Poller Jobs โโโโโโถโ SQLite Databaseโ
โโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโ
โ
โผ
โโโโโโโโโโโโโโโโโโโโ
โ Web Dashboard โ
โ + REST API โ
โโโโโโโโโโโโโโโโโโโโ
| Job | Frequency | What It Collects |
|---|---|---|
| Posts | Every 2 minutes | New posts from all submolts (50 per poll) |
| Submolts | Every hour | All communities, subscriber counts |
| Agent Profiles | Every 15 minutes | Karma, followers, descriptions |
| Trends | Every 10 minutes | Word frequency analysis |
| Snapshots | Every hour | Platform-wide metrics (for time-series) |
The database grows continuously as new content is discovered:
| Running Time | Expected Posts | Expected Agents |
|---|---|---|
| 1 hour | ~1,500 | ~100+ |
| 1 day | ~36,000 | All active agents |
| 1 week | ~252,000 | Complete agent history |
| 1 month | ~1,000,000+ | Full platform archive |
Key insight: Posts are fetched in reverse chronological order, so new posts are captured as they appear. Over time, you build a complete historical archive of Moltbook activity.
# Clone and enter directory
git clone https://github.com/kelkalot/moltbook-observatory.git
cd moltbook-observatory
# Install dependencies (or use pip install directly)
pip install fastapi uvicorn httpx jinja2 textblob apscheduler aiosqlite python-dotenv
# Configure your API key
cp .env.example .env
# Edit .env and set MOLTBOOK_API_KEY=your_key_here
uvicorn observatory.main:app --port 8000
# Open http://localhost:8000
On startup, the Observatory will:
Leave it running โ the longer it runs, the more data you collect.
| Endpoint | Description |
|---|---|
GET /api/feed | Recent posts (with ?since=timestamp&limit=50) |
GET /api/stats | Current platform metrics |
GET /api/trends | Trending words (with ?hours=24) |
GET /api/agents | All agents (with ?sort=karma&limit=50) |
GET /api/agents/{name} | Single agent profile + posts |
GET /api/submolts | All communities |
GET /api/analytics/top-posters | Agents ranked by post count |
GET /api/analytics/activity-by-hour | Post activity by hour (UTC) |
GET /api/analytics/submolt-activity | Submolts ranked by post activity |
GET /api/export/posts.csv | Download all posts as CSV |
GET /api/export/agents.csv | Download all agents as CSV |
GET /api/export/database.db | Download raw SQLite database |
| Variable | Description | Default |
|---|---|---|
MOLTBOOK_API_KEY | Your Moltbook API key | Required |
DATABASE_PATH | SQLite database location | ./data/observatory.db |
POLL_POSTS_INTERVAL | Seconds between post fetches | 120 (2 min) |
POLL_AGENTS_INTERVAL | Seconds between agent updates | 900 (15 min) |
POLL_SUBMOLTS_INTERVAL | Seconds between submolt fetches | 3600 (1 hour) |
For continuous data collection, deploy to a server:
On any Ubuntu/Debian server:
# Clone the repository
git clone https://github.com/kelkalot/moltbook-observatory.git
cd moltbook-observatory
# Install Python 3.11+ and dependencies
sudo apt update && sudo apt install python3.11 python3-pip -y
pip install fastapi uvicorn httpx jinja2 textblob apscheduler aiosqlite python-dotenv
# Configure your API key
cp .env.example .env
nano .env # Add your MOLTBOOK_API_KEY
# Run with screen (keeps running after SSH disconnect)
screen -S observatory
uvicorn observatory.main:app --host 0.0.0.0 --port 8000
# Press Ctrl+A then D to detach
# Or use systemd for auto-restart
sudo nano /etc/systemd/system/moltbook-observatory.service
Systemd service file:
[Unit]
Description=Moltbook Observatory
After=network.target
[Service]
User=ubuntu
WorkingDirectory=/home/ubuntu/moltbook-observatory
ExecStart=/usr/bin/python3 -m uvicorn observatory.main:app --host 0.0.0.0 --port 8000
Restart=always
RestartSec=10
[Install]
WantedBy=multi-user.target
sudo systemctl daemon-reload
sudo systemctl enable moltbook-observatory
sudo systemctl start moltbook-observatory
/data (critical for database persistence!)MOLTBOOK_API_KEY env vardocker build -t moltbook-observatory .
docker run -d \
-p 8080:8080 \
-e MOLTBOOK_API_KEY=your_key \
-v observatory-data:/data \
--restart unless-stopped \
moltbook-observatory
The sample_data/ directory contains example exports from the observatory:
| File | Description | Records |
|---|---|---|
posts_sample.csv | All collected posts with content | 262 |
agents_sample.csv | All discovered agents with stats | 255 |
submolts_sample.csv | All communities | 100 |
These samples demonstrate the data schema and can be used for testing analysis pipelines.
moltbook-observatory/
โโโ observatory/
โ โโโ main.py # FastAPI app + lifespan
โ โโโ config.py # Environment configuration
โ โโโ database/ # SQLite schema + connection
โ โโโ poller/ # API client + scheduler + processors
โ โโโ analyzer/ # Trends, sentiment, statistics
โ โโโ web/ # Routes + Jinja2 templates
โโโ sample_data/ # Example CSV exports
โโโ data/ # SQLite database (gitignored)
โโโ pyproject.toml # Dependencies
โโโ Dockerfile # Container deployment
โโโ .env.example # Configuration template
If you use this work, please cite:
Gautam, S., Olstad, A. W., Pettersen, K. H., & Riegler, M. A. (2026). The Moltbook Observatory Archive: an incremental dataset of agent-only social network activity. arXiv preprint arXiv:2605.13860.
@misc{gautam2026moltbookobservatoryarchiveincremental,
title={The Moltbook Observatory Archive: an incremental dataset of agent-only social network activity},
author={Sushant Gautam and Annika W. Olstad and Klas H. Pettersen and Michael A. Riegler},
year={2026},
eprint={2605.13860},
archivePrefix={arXiv},
primaryClass={cs.SI},
url={https://arxiv.org/abs/2605.13860},
}
MIT
HTML
53.1%
Python
45.9%
Passive monitoring and analytics dashboard for Moltbook โ the social network for AI agents.
The Observatory silently watches Moltbook, collecting posts, tracking agents, and analyzing trends over time. The longer it runs, the richer your dataset becomes.
๐ฅ๐ Report of first patch of data collected: RISK ASSESSMENT REPORT Moltbook Platform & Moltbot Ecosystem
๐๐ Live Running Instance: moltbook-observatory.sushant.info.np
๐ง ๐ Dataset Snapshot on HuggingFace: huggingface.co/datasets/SimulaMet/moltbook-observatory-archive
Our research has been featured in:
The Observatory operates as a background data collector that continuously polls the Moltbook API:
โโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโ
โ Moltbook API โโโโโโถโ Poller Jobs โโโโโโถโ SQLite Databaseโ
โโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโ
โ
โผ
โโโโโโโโโโโโโโโโโโโโ
โ Web Dashboard โ
โ + REST API โ
โโโโโโโโโโโโโโโโโโโโ
| Job | Frequency | What It Collects |
|---|---|---|
| Posts | Every 2 minutes | New posts from all submolts (50 per poll) |
| Submolts | Every hour | All communities, subscriber counts |
| Agent Profiles | Every 15 minutes | Karma, followers, descriptions |
| Trends | Every 10 minutes | Word frequency analysis |
| Snapshots | Every hour | Platform-wide metrics (for time-series) |
The database grows continuously as new content is discovered:
| Running Time | Expected Posts | Expected Agents |
|---|---|---|
| 1 hour | ~1,500 | ~100+ |
| 1 day | ~36,000 | All active agents |
| 1 week | ~252,000 | Complete agent history |
| 1 month | ~1,000,000+ | Full platform archive |
Key insight: Posts are fetched in reverse chronological order, so new posts are captured as they appear. Over time, you build a complete historical archive of Moltbook activity.
# Clone and enter directory
git clone https://github.com/kelkalot/moltbook-observatory.git
cd moltbook-observatory
# Install dependencies (or use pip install directly)
pip install fastapi uvicorn httpx jinja2 textblob apscheduler aiosqlite python-dotenv
# Configure your API key
cp .env.example .env
# Edit .env and set MOLTBOOK_API_KEY=your_key_here
uvicorn observatory.main:app --port 8000
# Open http://localhost:8000
On startup, the Observatory will:
Leave it running โ the longer it runs, the more data you collect.
| Endpoint | Description |
|---|---|
GET /api/feed | Recent posts (with ?since=timestamp&limit=50) |
GET /api/stats | Current platform metrics |
GET /api/trends | Trending words (with ?hours=24) |
GET /api/agents | All agents (with ?sort=karma&limit=50) |
GET /api/agents/{name} | Single agent profile + posts |
GET /api/submolts | All communities |
GET /api/analytics/top-posters | Agents ranked by post count |
GET /api/analytics/activity-by-hour | Post activity by hour (UTC) |
GET /api/analytics/submolt-activity | Submolts ranked by post activity |
GET /api/export/posts.csv | Download all posts as CSV |
GET /api/export/agents.csv | Download all agents as CSV |
GET /api/export/database.db | Download raw SQLite database |
| Variable | Description | Default |
|---|---|---|
MOLTBOOK_API_KEY | Your Moltbook API key | Required |
DATABASE_PATH | SQLite database location | ./data/observatory.db |
POLL_POSTS_INTERVAL | Seconds between post fetches | 120 (2 min) |
POLL_AGENTS_INTERVAL | Seconds between agent updates | 900 (15 min) |
POLL_SUBMOLTS_INTERVAL | Seconds between submolt fetches | 3600 (1 hour) |
For continuous data collection, deploy to a server:
On any Ubuntu/Debian server:
# Clone the repository
git clone https://github.com/kelkalot/moltbook-observatory.git
cd moltbook-observatory
# Install Python 3.11+ and dependencies
sudo apt update && sudo apt install python3.11 python3-pip -y
pip install fastapi uvicorn httpx jinja2 textblob apscheduler aiosqlite python-dotenv
# Configure your API key
cp .env.example .env
nano .env # Add your MOLTBOOK_API_KEY
# Run with screen (keeps running after SSH disconnect)
screen -S observatory
uvicorn observatory.main:app --host 0.0.0.0 --port 8000
# Press Ctrl+A then D to detach
# Or use systemd for auto-restart
sudo nano /etc/systemd/system/moltbook-observatory.service
Systemd service file:
[Unit]
Description=Moltbook Observatory
After=network.target
[Service]
User=ubuntu
WorkingDirectory=/home/ubuntu/moltbook-observatory
ExecStart=/usr/bin/python3 -m uvicorn observatory.main:app --host 0.0.0.0 --port 8000
Restart=always
RestartSec=10
[Install]
WantedBy=multi-user.target
sudo systemctl daemon-reload
sudo systemctl enable moltbook-observatory
sudo systemctl start moltbook-observatory
/data (critical for database persistence!)MOLTBOOK_API_KEY env vardocker build -t moltbook-observatory .
docker run -d \
-p 8080:8080 \
-e MOLTBOOK_API_KEY=your_key \
-v observatory-data:/data \
--restart unless-stopped \
moltbook-observatory
The sample_data/ directory contains example exports from the observatory:
| File | Description | Records |
|---|---|---|
posts_sample.csv | All collected posts with content | 262 |
agents_sample.csv | All discovered agents with stats | 255 |
submolts_sample.csv | All communities | 100 |
These samples demonstrate the data schema and can be used for testing analysis pipelines.
moltbook-observatory/
โโโ observatory/
โ โโโ main.py # FastAPI app + lifespan
โ โโโ config.py # Environment configuration
โ โโโ database/ # SQLite schema + connection
โ โโโ poller/ # API client + scheduler + processors
โ โโโ analyzer/ # Trends, sentiment, statistics
โ โโโ web/ # Routes + Jinja2 templates
โโโ sample_data/ # Example CSV exports
โโโ data/ # SQLite database (gitignored)
โโโ pyproject.toml # Dependencies
โโโ Dockerfile # Container deployment
โโโ .env.example # Configuration template
If you use this work, please cite:
Gautam, S., Olstad, A. W., Pettersen, K. H., & Riegler, M. A. (2026). The Moltbook Observatory Archive: an incremental dataset of agent-only social network activity. arXiv preprint arXiv:2605.13860.
@misc{gautam2026moltbookobservatoryarchiveincremental,
title={The Moltbook Observatory Archive: an incremental dataset of agent-only social network activity},
author={Sushant Gautam and Annika W. Olstad and Klas H. Pettersen and Michael A. Riegler},
year={2026},
eprint={2605.13860},
archivePrefix={arXiv},
primaryClass={cs.SI},
url={https://arxiv.org/abs/2605.13860},
}
MIT
HTML
53.1%
Python
45.9%