note.com Multi-Account Auto-Posting Tool
A CLI tool that reverse-engineers note.com's internal endpoints (no official API exists) to automate draft saving, publishing, hashtags, and eyecatch images across multiple accounts.
Duration
Short-term development
Team
1 person
01 // OVERVIEW
Project Overview
Since note.com has no official API, this CLI tool analyzes the web frontend's HTTP traffic to identify internal endpoints and operates them via Python. It is designed to manage multiple accounts from a single repository, with a safety mechanism that detects account mismatches in cookies, and posting features that handle drafts, publishing, hashtags, and eyecatch images together.
02 // KEY FEATURES
Key Features
Automatic detection of account mix-ups
When a cookie is captured, the /v2/current_user endpoint is checked to confirm whose cookie it is; if it does not match the note_id in config.json, saving is refused. This prevents the most common mistake in multi-account operation: posting to the wrong account.
Draft saving, publishing, hashtags, and eyecatch images
Article title, hashtags, eyecatch image, scheduled publish date, and paid settings are managed via Markdown frontmatter. Draft saving and publishing (--publish) can be run with a single command, and every field has been verified on the live site.
Multiple accounts and cron-based posting
Cookies for each account are kept separate under accounts/<name>.json, and note_cron.py automatically posts articles from their scheduled date onward. The NOTE_COOKIE_<account name> environment variable also allows use from CI/CD.
03 // TECHNICAL DEEP-DIVE
Technical Highlights
Solution
Handling the risk of undocumented endpoint changes
Since internal endpoints can change without notice, the design references other open-source (MIT-licensed) implementations to understand the shape of the HTTP requests, and is deliberately kept simple enough to be fixed by hand if it breaks.
04 // IMPACT & RESULTS
Results
Verified
Draft saving, publishing, hashtags, and eyecatch images all confirmed on the live site
Mix-up prevention
Cookies with a mismatched account are refused
Multi-account
Managed from a single repository