LinkCrypt REST API

A first-class REST API so your AI agents can search, save, and tag your personal link library — no scraping.

Authentication

Create a personal API key in Preferences (sign in required). Keys start with lc_ . Include on every request:

Authorization: Bearer YOUR_API_KEY

Base URL: https://getlinkcrypt.com/api/v1

Search & lookup

GET/api/v1/search

Full-text search across title, description, domain, and saved page content (most powerful search).

ParamRequiredNotes
qYesSearch query
limitNoMax results (default 20)
offsetNoPagination

Example

curl -s "https://getlinkcrypt.com/api/v1/search?q=python&limit=10" -H "Authorization: Bearer YOUR_API_KEY"
GET/api/v1/links

List links with filters and pagination.

ParamRequiredNotes
qNoFilter title, description, domain
tagsNoComma-separated; AND match (e.g. ai,python)
domainNoPartial domain match
favoriteNotrue | false
sortNocreated_at | title | click_count | updated_at
limitNoMax 100 (default 20)
offsetNoPagination

Example

curl -s "https://getlinkcrypt.com/api/v1/links?tags=ai&limit=20" -H "Authorization: Bearer YOUR_API_KEY"
GET/api/v1/links/:id

Single link with full tag list.

ParamRequiredNotes
idYesLink UUID

Example

curl -s "https://getlinkcrypt.com/api/v1/links/LINK_ID" -H "Authorization: Bearer YOUR_API_KEY"

Save & update links

POST/api/v1/links

Create a link. Tags can be provided; new tags are created automatically. AI tagging may run async.

Body: {"url":"https://…","title"?:string,"description"?:string,"tags"?:string[]}

Example

curl -s -X POST "https://getlinkcrypt.com/api/v1/links" -H "Authorization: Bearer YOUR_API_KEY" -H "Content-Type: application/json" -d '{"url":"https://example.com","tags":["research"]}'
PATCH/api/v1/links/:id

Update metadata (partial body).

Body: {"title"?,"url"?,"description"?,"is_favorite"?:boolean}

Example

curl -s -X PATCH "https://getlinkcrypt.com/api/v1/links/LINK_ID" -H "Authorization: Bearer YOUR_API_KEY" -H "Content-Type: application/json" -d '{"is_favorite":true}'

Tags

GET/api/v1/tags

All tags with link counts.

Example

curl -s "https://getlinkcrypt.com/api/v1/tags" -H "Authorization: Bearer YOUR_API_KEY"
POST/api/v1/tags

Create a tag.

Body: {"name":string,"color"?: "#hex"}

Example

curl -s -X POST "https://getlinkcrypt.com/api/v1/tags" -H "Authorization: Bearer YOUR_API_KEY" -H "Content-Type: application/json" -d '{"name":"research","color":"#10B981"}'
GET/api/v1/links/:id/tags

Tags on a link.

ParamRequiredNotes
idYesLink UUID

Example

curl -s "https://getlinkcrypt.com/api/v1/links/LINK_ID/tags" -H "Authorization: Bearer YOUR_API_KEY"
POST/api/v1/links/:id/tags

Add tag to link (creates tag if missing).

Body: {"name":string}

Example

curl -s -X POST "https://getlinkcrypt.com/api/v1/links/LINK_ID/tags" -H "Authorization: Bearer YOUR_API_KEY" -H "Content-Type: application/json" -d '{"name":"ai"}'
DELETE/api/v1/links/:id/tags/:tagId

Remove a tag from a link (does not delete the link).

Example

curl -s -X DELETE "https://getlinkcrypt.com/api/v1/links/LINK_ID/tags/TAG_ID" -H "Authorization: Bearer YOUR_API_KEY"
PATCH/api/v1/tags/:id

Update tag (name, description, color).

Body: {"name"?,"description"?,"color"?}

Example

curl -s -X PATCH "https://getlinkcrypt.com/api/v1/tags/TAG_ID" -H "Authorization: Bearer YOUR_API_KEY" -H "Content-Type: application/json" -d '{"color":"#EF4444"}'
DELETE/api/v1/tags/:id

Delete tag globally and remove associations.

Example

curl -s -X DELETE "https://getlinkcrypt.com/api/v1/tags/TAG_ID" -H "Authorization: Bearer YOUR_API_KEY"

Stats & analysis

GET/api/v1/analyze/stats

Library overview: totals, links added (day/week/month), top domains & tags, tag growth.

Example

curl -s "https://getlinkcrypt.com/api/v1/analyze/stats" -H "Authorization: Bearer YOUR_API_KEY"
POST/api/v1/analyze/digest

AI digest across your library (themes, habits, suggestions).

Body: {"period":"week"|"month"|"all","focus"?:string}

Example

curl -s -X POST "https://getlinkcrypt.com/api/v1/analyze/digest" -H "Authorization: Bearer YOUR_API_KEY" -H "Content-Type: application/json" -d '{"period":"week"}'

Use with your AI agent

Step-by-step guides for connecting Claude, ChatGPT, and Obsidian-style workflows:

All responses are JSON. Errors: { "error": "message" } with appropriate HTTP status.