Skip to main content

Search content

GET /api/v1/search
Search across all your saved content with full-text matching, filters, and faceted results. Scope: search

Query parameters

ParameterTypeDefaultDescription
qstringrequiredSearch query
limitinteger20Results per page (1-50)
offsetinteger0Offset for pagination (0-10000)
sort_bystringrelevanceSort order: relevance, saved_at, or title
sort_orderstringdescSort direction: asc or desc

Filters

ParameterTypeDescription
platformsstringComma-separated platform filter (e.g. youtube,twitter)
tagsstringComma-separated tag filter
creatorsstringComma-separated creator handles
collection_idsstringComma-separated collection IDs
favorites_onlybooleanOnly return favorites
archived_onlybooleanOnly return archived items
has_ai_analysisbooleanFilter by AI analysis status
saved_afterintegerUnix timestamp — only items saved after this time
saved_beforeintegerUnix timestamp — only items saved before this time

Example

curl "https://api.animus.so/api/v1/search?q=machine+learning&platforms=youtube,web&limit=10&sort_by=saved_at" \
  -H "Authorization: Bearer anm_your_key"

Response

{
  "hits": [
    {
      "user_content_id": "uuid",
      "title": "Introduction to Transformers",
      "short_summary": "A comprehensive guide to transformer architecture...",
      "thumbnail_url": "https://example.com/thumb.jpg",
      "original_url": "https://example.com/transformers",
      "platform": "web",
      "domain": "example.com",
      "creator_name": "Author Name",
      "creator_handle": "authorhandle",
      "personal_tags": ["ml", "transformers"],
      "is_favorite": false,
      "is_archived": false,
      "saved_at": 1705312200,
      "collection_ids": ["uuid"],
      "text_match_score": 0.95,
      "highlights": [
        {
          "field": "title",
          "snippet": "Introduction to <mark>Transformers</mark>"
        }
      ]
    }
  ],
  "found": 42,
  "out_of": 1250,
  "page": 0,
  "search_time_ms": 12,
  "has_more": true,
  "facets": {
    "platforms": [
      { "value": "web", "count": 28 },
      { "value": "youtube", "count": 14 }
    ],
    "tags": [
      { "value": "ml", "count": 35 },
      { "value": "ai", "count": 22 }
    ]
  }
}

Response fields

FieldTypeDescription
hitsarrayMatching content items
foundintegerTotal matching documents
out_ofintegerTotal documents in your library
pageintegerCurrent page number
search_time_msintegerSearch execution time in milliseconds
has_morebooleanWhether more results are available
facetsobjectAggregated counts for platforms, tags, and creators

Hit fields

FieldTypeDescription
user_content_idstringContent item ID
titlestringContent title
short_summarystringBrief summary
thumbnail_urlstring?Thumbnail image URL
original_urlstringSource URL
platformstringPlatform (e.g. web, youtube, twitter)
domainstringSource domain
creator_namestring?Creator display name
creator_handlestring?Creator handle/username
personal_tagsstring[]?User-assigned tags
is_favoritebooleanWhether item is favorited
is_archivedbooleanWhether item is archived
saved_atintegerUnix timestamp when saved
collection_idsstring[]?IDs of collections containing this item
text_match_scorenumberRelevance score (0-1)
highlightsarray?Matched text snippets with <mark> tags
Use facets to build filter UIs — they show what values exist in the result set and how many items match each value.