Automate Your Bookmarks with the Cowpin API
Cowpin
10/11/2026

Most bookmark apps assume you will click Save. If you monitor RSS, run research pipelines, or want nightly “interesting link” dumps in one tagged library, you need an API that behaves like infrastructure — not a UI afterthought.
Cowpin gives you three automation surfaces, from “swap my Pinboard cron” to “my Cursor agent remembers this paper.”
1. Pinboard-compatible REST (drop-in for existing scripts)
If you already have Pinboard scripts, change the host and token:
- Base:
https://www.cowpin.com/api/v1/ - Auth:
auth_token=username:TOKEN(create the token under Settings → API)
export COWPIN_TOKEN="you:xxxxxxxx"
# Save with tags and read-later
curl -sG "https://www.cowpin.com/api/v1/posts/add" \
--data-urlencode "auth_token=$COWPIN_TOKEN" \
--data-urlencode "url=https://example.com/report" \
--data-urlencode "description=Q3 report" \
--data-urlencode "tags=research finance" \
--data-urlencode "toread=yes" \
--data-urlencode "shared=no"
# Poll for changes (cache /posts/all — rate-limited like Pinboard)
curl -sG "https://www.cowpin.com/api/v1/posts/update" \
--data-urlencode "auth_token=$COWPIN_TOKEN"
Full endpoint list: The API.
Good for: cron importers, legacy Pinboard tools, one-liner shell aliases.
2. Quick-add JSON (extension-grade, bearer token)
The same endpoint the browser extension uses — better when you want JSON bodies,
explicit privacy, or POST from Shortcuts:
curl -sX POST "https://www.cowpin.com/api/bookmark/quick-add" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"url": "https://example.com",
"title": "Optional title",
"tags": "reading, automation",
"readLater": true,
"isPrivate": true
}'
Omit isPrivate to respect your account private-by-default setting; send
isPrivate: false only when you explicitly want a public save.
Lookup before save (extension pattern): GET /api/bookmark/lookup?url=… with
the same bearer token — read-only, rate-limited per token.
Good for: iOS Shortcuts, GitHub Actions posting artifacts, single-page tools.
3. Agent MCP (when URLs are not enough)
For coding agents that need persistent memory — search past research, archive
Markdown, optional public feed — use Connect Cowpin to Cursor
or wallet auth + POST https://www.cowpin.com/api/agent/mcp.
That path is separate from Pinboard REST: different auth (cw_agent_…), credits,
and tools like cowpin_search_memory. Use REST for “file this URL”; use MCP when
the agent must recall it next week.
Patterns that work well
| Pattern | API |
|---|---|
| Nightly digest of URLs from a script | posts/add in a loop |
“If not saved, tag inbox” | lookup → conditional quick-add |
| Migrate 10k links from Pinboard | Built-in import + same API under the hood |
| Research agent in Cursor | MCP + optional public feed |
Limits (plan for them)
- REST: documented rate limits — cache
/posts/all. - Quick-add: bearer token buckets (extension-safe).
- Agents: micro-credits; wallet auth gives a starter balance (crypto auth docs).
Start here
- Sign up and create an API token.
- Point one existing script at
/api/v1/— or copy thecurlblocks above. - Read Looking for a bookmark manager with a real API? if you are comparing tools.
Automation only matters if export stays easy — Cowpin’s backup export (JSON, HTML, XML, and all highlights as Markdown) uses the same data model the API writes. You are not trading scriptability for lock-in.