curl --request POST \
--url https://memex.garden/api/search-content \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"query": "vector databases",
"contentTypes": [
"web",
"pdf"
],
"limit": 20,
"offset": 0,
"enableRerank": true,
"rerankWindow": 100
}
'{
"results": [
{
"type": "<string>",
"url": "<string>",
"createdAt": "2023-11-07T05:31:56Z",
"text": "<string>",
"title": "<string>",
"media": [
{
"type": "<string>",
"imageDescription": "<string>",
"transcriptChunks": [
"<string>"
],
"assetUrls": [
"<string>"
]
}
],
"references": {},
"user_notes": [
"<unknown>"
]
}
],
"meta": {
"offset": 123,
"limit": 123,
"returnedCount": 123,
"rerankApplied": true,
"usageMicrosCharged": 123,
"remainingUsageBalance": {
"usageBalancePaygMicros": 123,
"usageBalanceSubscriptionMicros": 123,
"total": 123
}
},
"error": "<string>",
"errorCode": "INSUFFICIENT_CREDITS",
"upgradeOptions": {}
}{
"error": "Unauthorized"
}{
"error": "Internal server error",
"message": "<string>"
}Unified search across saved Memex content
Compatibility alias for /search. Returns content results, extra entities, resolved references, and optional inline notes. Supports optional reranking.
curl --request POST \
--url https://memex.garden/api/search-content \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"query": "vector databases",
"contentTypes": [
"web",
"pdf"
],
"limit": 20,
"offset": 0,
"enableRerank": true,
"rerankWindow": 100
}
'{
"results": [
{
"type": "<string>",
"url": "<string>",
"createdAt": "2023-11-07T05:31:56Z",
"text": "<string>",
"title": "<string>",
"media": [
{
"type": "<string>",
"imageDescription": "<string>",
"transcriptChunks": [
"<string>"
],
"assetUrls": [
"<string>"
]
}
],
"references": {},
"user_notes": [
"<unknown>"
]
}
],
"meta": {
"offset": 123,
"limit": 123,
"returnedCount": 123,
"rerankApplied": true,
"usageMicrosCharged": 123,
"remainingUsageBalance": {
"usageBalancePaygMicros": 123,
"usageBalanceSubscriptionMicros": 123,
"total": 123
}
},
"error": "<string>",
"errorCode": "INSUFFICIENT_CREDITS",
"upgradeOptions": {}
}{
"error": "Unauthorized"
}{
"error": "Internal server error",
"message": "<string>"
}Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Body
Search query text. Supports inline tags like #tag-name.
Rewrite query before embedding generation.
Tag filter string. Multiple values can be comma- or space-separated.
Explicit tag IDs to filter on.
AND, OR Start date filter (free text or date string).
End date filter (free text or date string).
Show child attributes
Show child attributes
Restrict search to one or more exact content_entity.type values.
Exact persisted content_entity.type value.
web, pdf, youtube, twitter, instagram, tiktok, facebook, linkedin, pinterest, reddit, chatgpt, claude, annotation, image, transcribedMedia, audioRecording, selector, chatThread, twitterProfile, subreddit, youtubeChannel Restrict search results to entries from one or more subscribed feed IDs returned by /list-feeds.
Set to all to restrict search results to entries from all subscribed feeds. Omit both feedScope and feedIds to search the full library.
all Optional read-state filter for feed entries. Omit to include unread and read entries while excluding archived entries.
unread, read, archived date-asc, date-desc x >= 0Maximum number of results returned per call.
1 <= x <= 500Semantic relevance threshold for hybrid search.
If true and query is non-empty, reranks top candidates with an LLM.
Maximum candidate window used for reranking.
1 <= x <= 100Includes related tags in the reference payload.
Includes related notes and each note's own references.
Response mode switch. Omit or set false for the LLM-ready compact response. Set true for the full machine-readable search graph.
Restrict search to one or more accessible saved view IDs. Use this when you need LLM-ready or full search responses scoped to views.
Response
Search response
- Option 1
- Option 2
Search response. Omit raw or set raw: false for the LLM-ready response; set raw: true for the full response.

