{"openapi":"3.1.0","info":{"title":"Xiry library API","version":"1.0.0","description":"Read-only access to the Xiry free resources library: tools, websites, GitHub repos, AI models and tips pulled out of saved Instagram reels and liked tweets. No key needed; 60 requests a minute per IP."},"servers":[{"url":"https://xiry.app"}],"paths":{"/api/library/resources":{"get":{"operationId":"searchResources","summary":"List or search entries","description":"Every entry, most-saved first; with q, the entries matching every word, best match first.","parameters":[{"name":"q","in":"query","schema":{"type":"string"},"description":"Keywords, e.g. \"email verification\"."},{"name":"category","in":"query","schema":{"type":"string"},"description":"Category name or slug, e.g. \"design\"."},{"name":"topic","in":"query","schema":{"type":"string"},"description":"Subtopic name or slug, e.g. \"lead-generation\"."},{"name":"kind","in":"query","schema":{"type":"string","enum":["web_app","github_repo","ai_model","mobile_app","desktop_app","extension","website","article_or_course","prompt","tip","framework","list","physical_product"]}},{"name":"pricing","in":"query","schema":{"type":"string","enum":["free","freemium","paid","open_source","unknown"]}},{"name":"limit","in":"query","schema":{"type":"integer","minimum":1}}],"responses":{"200":{"description":"Matching entries","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean"},"total":{"type":"integer"},"updated_at":{"type":["string","null"]},"resources":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer"},"slug":{"type":"string","example":"notion"},"name":{"type":"string"},"tagline":{"type":["string","null"]},"category":{"type":"string","example":"Productivity"},"topic":{"type":["string","null"],"example":"Note Taking"},"kind":{"type":"string","enum":["web_app","github_repo","ai_model","mobile_app","desktop_app","extension","website","article_or_course","prompt","tip","framework","list","physical_product"]},"pricing":{"type":["string","null"],"enum":["free","freemium","paid","open_source","unknown",null]},"tags":{"type":"array","items":{"type":"string"}},"page":{"type":"string","format":"uri","description":"The entry's page on xiry.app. Add .md for Markdown."},"website":{"type":["string","null"],"format":"uri","description":"The product's own site, when it has one."}}}}}}}}},"429":{"description":"Too many requests"}}}},"/api/library/resources/{slug}":{"get":{"operationId":"getResource","summary":"One entry in full","description":"Summary, use cases, features, pricing, platforms, what it is an alternative to, the posts it was saved from and why (`reels`: each a saved reel or a liked tweet, told apart by `source`), and related entries.","parameters":[{"name":"slug","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"The entry"},"404":{"description":"No entry with that slug"}}}},"/api/library/topics":{"get":{"operationId":"listTopics","summary":"Categories and subtopics, with counts","responses":{"200":{"description":"Topics"}}}},"/api/library/alternatives":{"get":{"operationId":"listAlternatives","summary":"Products with alternatives in the library","responses":{"200":{"description":"Alternatives pages"}}}}}}