Skip to main content

Automate Your Bookmarks with the Cowpin API

Cowpin

Cowpin

10/11/2026

#api #automation #developers #pinboard #scripts #mcp
Automate Your Bookmarks with the Cowpin API

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

PatternAPI
Nightly digest of URLs from a scriptposts/add in a loop
“If not saved, tag inbox”lookup → conditional quick-add
Migrate 10k links from PinboardBuilt-in import + same API under the hood
Research agent in CursorMCP + optional public feed

Limits (plan for them)

Start here

  1. Sign up and create an API token.
  2. Point one existing script at /api/v1/ — or copy the curl blocks above.
  3. 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.