{"openapi":"3.1.0","info":{"title":"TagX Search API","description":"Powerful multi-source search API providing access to web, news, images, and video search results.","version":"1.0.0"},"paths":{"/api/v1/search/text":{"get":{"tags":["Search"],"summary":"Search Text","description":"Search for web text results across multiple search engines.\n\nReturns relevant web pages matching your search query with advanced filtering options.\nYou can restrict results either to a relative window with `timelimit` (d/w/m/y) or to an\nexplicit `start_date`/`end_date` range (YYYY-MM-DD), pick a specific `backend` engine, and\npage through results with `page`.","operationId":"search_text_api_v1_search_text_get","security":[{"APIKeyHeader":[]}],"parameters":[{"name":"q","in":"query","required":true,"schema":{"type":"string","description":"Search query","title":"Q"},"description":"Search query"},{"name":"max_results","in":"query","required":false,"schema":{"type":"integer","maximum":50,"minimum":1,"description":"Maximum number of results (1-50)","default":10,"title":"Max Results"},"description":"Maximum number of results (1-50)"},{"name":"region","in":"query","required":false,"schema":{"type":"string","description":"Region code (e.g., us-en, uk-en, wt-wt for worldwide)","default":"wt-wt","title":"Region"},"description":"Region code (e.g., us-en, uk-en, wt-wt for worldwide)"},{"name":"safesearch","in":"query","required":false,"schema":{"type":"string","description":"Safe search: on, moderate, off","default":"moderate","title":"Safesearch"},"description":"Safe search: on, moderate, off"},{"name":"timelimit","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Relative time filter: d (day), w (week), m (month), y (year). Ignored when start_date/end_date are set.","title":"Timelimit"},"description":"Relative time filter: d (day), w (week), m (month), y (year). Ignored when start_date/end_date are set."},{"name":"start_date","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Start of a custom date range (YYYY-MM-DD). Must be used together with end_date.","title":"Start Date"},"description":"Start of a custom date range (YYYY-MM-DD). Must be used together with end_date."},{"name":"end_date","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"End of a custom date range (YYYY-MM-DD). Must be used together with start_date.","title":"End Date"},"description":"End of a custom date range (YYYY-MM-DD). Must be used together with start_date."},{"name":"backend","in":"query","required":false,"schema":{"type":"string","description":"Search engine: 'auto' (default, aggregates all engines) or one/more of: brave, duckduckgo, grokipedia, mojeek, startpage, wikipedia, yahoo. Comma-separate to combine (e.g. 'brave,duckduckgo').","default":"auto","title":"Backend"},"description":"Search engine: 'auto' (default, aggregates all engines) or one/more of: brave, duckduckgo, grokipedia, mojeek, startpage, wikipedia, yahoo. Comma-separate to combine (e.g. 'brave,duckduckgo')."},{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"description":"Result page number (1-based) for pagination.","default":1,"title":"Page"},"description":"Result page number (1-based) for pagination."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SearchResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/search/news":{"get":{"tags":["Search"],"summary":"Search News","description":"Search for recent news articles.\n\nReturns news articles matching your search query from various news sources with filtering options.\nYou can restrict results either to a relative window with `timelimit` (d/w/m) or to an\nexplicit `start_date`/`end_date` range (YYYY-MM-DD), pick a specific `backend` engine, and\npage through results with `page`.","operationId":"search_news_api_v1_search_news_get","security":[{"APIKeyHeader":[]}],"parameters":[{"name":"q","in":"query","required":true,"schema":{"type":"string","description":"Search query","title":"Q"},"description":"Search query"},{"name":"max_results","in":"query","required":false,"schema":{"type":"integer","maximum":50,"minimum":1,"description":"Maximum number of results (1-50)","default":10,"title":"Max Results"},"description":"Maximum number of results (1-50)"},{"name":"region","in":"query","required":false,"schema":{"type":"string","description":"Region code (e.g., us-en, uk-en, wt-wt for worldwide)","default":"wt-wt","title":"Region"},"description":"Region code (e.g., us-en, uk-en, wt-wt for worldwide)"},{"name":"safesearch","in":"query","required":false,"schema":{"type":"string","description":"Safe search: on, moderate, off","default":"moderate","title":"Safesearch"},"description":"Safe search: on, moderate, off"},{"name":"timelimit","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Relative time filter: d (day), w (week), m (month). Ignored when start_date/end_date are set.","title":"Timelimit"},"description":"Relative time filter: d (day), w (week), m (month). Ignored when start_date/end_date are set."},{"name":"start_date","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Start of a custom date range (YYYY-MM-DD). Must be used together with end_date.","title":"Start Date"},"description":"Start of a custom date range (YYYY-MM-DD). Must be used together with end_date."},{"name":"end_date","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"End of a custom date range (YYYY-MM-DD). Must be used together with start_date.","title":"End Date"},"description":"End of a custom date range (YYYY-MM-DD). Must be used together with start_date."},{"name":"backend","in":"query","required":false,"schema":{"type":"string","description":"Search engine: 'auto' (default, aggregates all engines) or one/more of: bing, duckduckgo, yahoo. Comma-separate to combine (e.g. 'bing,duckduckgo').","default":"auto","title":"Backend"},"description":"Search engine: 'auto' (default, aggregates all engines) or one/more of: bing, duckduckgo, yahoo. Comma-separate to combine (e.g. 'bing,duckduckgo')."},{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"description":"Result page number (1-based) for pagination.","default":1,"title":"Page"},"description":"Result page number (1-based) for pagination."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NewsResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/search/images":{"get":{"tags":["Search"],"summary":"Search Images","description":"Search for images with advanced filtering options.\n\nReturns image results including URLs, thumbnails, dimensions, and supports filtering by size, color, type, layout, and license.\nPick a specific `backend` engine and page through results with `page`.","operationId":"search_images_api_v1_search_images_get","security":[{"APIKeyHeader":[]}],"parameters":[{"name":"q","in":"query","required":true,"schema":{"type":"string","description":"Search query","title":"Q"},"description":"Search query"},{"name":"max_results","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"description":"Maximum number of results (1-100)","default":10,"title":"Max Results"},"description":"Maximum number of results (1-100)"},{"name":"region","in":"query","required":false,"schema":{"type":"string","description":"Region code (e.g., us-en, uk-en, wt-wt for worldwide)","default":"wt-wt","title":"Region"},"description":"Region code (e.g., us-en, uk-en, wt-wt for worldwide)"},{"name":"safesearch","in":"query","required":false,"schema":{"type":"string","description":"Safe search: on, moderate, off","default":"moderate","title":"Safesearch"},"description":"Safe search: on, moderate, off"},{"name":"size","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Image size: Small, Medium, Large, Wallpaper","title":"Size"},"description":"Image size: Small, Medium, Large, Wallpaper"},{"name":"color","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Color filter: color, Monochrome, Red, Orange, Yellow, Green, Blue, Purple, Pink, Brown, Black, Gray, Teal, White","title":"Color"},"description":"Color filter: color, Monochrome, Red, Orange, Yellow, Green, Blue, Purple, Pink, Brown, Black, Gray, Teal, White"},{"name":"type_image","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Image type: photo, clipart, gif, transparent, line","title":"Type Image"},"description":"Image type: photo, clipart, gif, transparent, line"},{"name":"layout","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Layout: Square, Tall, Wide","title":"Layout"},"description":"Layout: Square, Tall, Wide"},{"name":"license_image","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"License: any, Public, Share, Modify, ModifyCommercially","title":"License Image"},"description":"License: any, Public, Share, Modify, ModifyCommercially"},{"name":"backend","in":"query","required":false,"schema":{"type":"string","description":"Search engine: 'auto' (default, aggregates all engines) or one/more of: bing, duckduckgo. Comma-separate to combine.","default":"auto","title":"Backend"},"description":"Search engine: 'auto' (default, aggregates all engines) or one/more of: bing, duckduckgo. Comma-separate to combine."},{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"description":"Result page number (1-based) for pagination.","default":1,"title":"Page"},"description":"Result page number (1-based) for pagination."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ImageResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/search/videos":{"get":{"tags":["Search"],"summary":"Search Videos","description":"Search for videos with advanced filtering options.\n\nReturns video results including titles, URLs, descriptions, duration, and supports filtering by resolution, duration, and license.\nPick a specific `backend` engine and page through results with `page`.","operationId":"search_videos_api_v1_search_videos_get","security":[{"APIKeyHeader":[]}],"parameters":[{"name":"q","in":"query","required":true,"schema":{"type":"string","description":"Search query","title":"Q"},"description":"Search query"},{"name":"max_results","in":"query","required":false,"schema":{"type":"integer","maximum":50,"minimum":1,"description":"Maximum number of results (1-50)","default":10,"title":"Max Results"},"description":"Maximum number of results (1-50)"},{"name":"region","in":"query","required":false,"schema":{"type":"string","description":"Region code (e.g., us-en, uk-en, wt-wt for worldwide)","default":"wt-wt","title":"Region"},"description":"Region code (e.g., us-en, uk-en, wt-wt for worldwide)"},{"name":"safesearch","in":"query","required":false,"schema":{"type":"string","description":"Safe search: on, moderate, off","default":"moderate","title":"Safesearch"},"description":"Safe search: on, moderate, off"},{"name":"timelimit","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Time filter: d (day), w (week), m (month)","title":"Timelimit"},"description":"Time filter: d (day), w (week), m (month)"},{"name":"resolution","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Video resolution: high, standard","title":"Resolution"},"description":"Video resolution: high, standard"},{"name":"duration","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Video duration: short, medium, long","title":"Duration"},"description":"Video duration: short, medium, long"},{"name":"license_videos","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"License filter: creativeCommon, youtube","title":"License Videos"},"description":"License filter: creativeCommon, youtube"},{"name":"backend","in":"query","required":false,"schema":{"type":"string","description":"Search engine: 'auto' (default) or one/more of: duckduckgo.","default":"auto","title":"Backend"},"description":"Search engine: 'auto' (default) or one/more of: duckduckgo."},{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"description":"Result page number (1-based) for pagination.","default":1,"title":"Page"},"description":"Result page number (1-based) for pagination."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/VideoResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/search/credits":{"get":{"tags":["Search"],"summary":"Check Credits","description":"Check remaining credits for the authenticated API key.\n\nReturns the current credit balance without deducting any credits.","operationId":"check_credits_api_v1_search_credits_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"APIKeyHeader":[]}]}},"/":{"get":{"summary":"Root","operationId":"root__get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/health":{"get":{"summary":"Health Check","operationId":"health_check_health_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/documentation":{"get":{"summary":"Documentation","description":"Custom documentation page","operationId":"documentation_documentation_get","responses":{"200":{"description":"Successful Response","content":{"text/html":{"schema":{"type":"string"}}}}}}}},"components":{"schemas":{"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"ImageResponse":{"properties":{"query":{"type":"string","title":"Query"},"country":{"type":"string","title":"Country"},"page":{"type":"integer","title":"Page"},"results":{"items":{"$ref":"#/components/schemas/ImageResult"},"type":"array","title":"Results"},"total_results":{"type":"integer","title":"Total Results"},"credits_remaining":{"type":"integer","title":"Credits Remaining"}},"type":"object","required":["query","country","page","results","total_results","credits_remaining"],"title":"ImageResponse"},"ImageResult":{"properties":{"title":{"type":"string","title":"Title"},"image":{"type":"string","title":"Image"},"url":{"type":"string","title":"Url"},"thumbnail":{"type":"string","title":"Thumbnail"},"height":{"type":"integer","title":"Height"},"width":{"type":"integer","title":"Width"}},"type":"object","required":["title","image","url","thumbnail","height","width"],"title":"ImageResult"},"NewsResponse":{"properties":{"query":{"type":"string","title":"Query"},"country":{"type":"string","title":"Country"},"page":{"type":"integer","title":"Page"},"results":{"items":{"$ref":"#/components/schemas/NewsResult"},"type":"array","title":"Results"},"total_results":{"type":"integer","title":"Total Results"},"credits_remaining":{"type":"integer","title":"Credits Remaining"}},"type":"object","required":["query","country","page","results","total_results","credits_remaining"],"title":"NewsResponse"},"NewsResult":{"properties":{"title":{"type":"string","title":"Title"},"url":{"type":"string","title":"Url"},"description":{"type":"string","title":"Description"},"date":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Date"},"source":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Source"}},"type":"object","required":["title","url","description"],"title":"NewsResult"},"SearchResponse":{"properties":{"query":{"type":"string","title":"Query"},"country":{"type":"string","title":"Country"},"page":{"type":"integer","title":"Page"},"results":{"items":{"$ref":"#/components/schemas/SearchResult"},"type":"array","title":"Results"},"total_results":{"type":"integer","title":"Total Results"},"credits_remaining":{"type":"integer","title":"Credits Remaining"}},"type":"object","required":["query","country","page","results","total_results","credits_remaining"],"title":"SearchResponse"},"SearchResult":{"properties":{"title":{"type":"string","title":"Title"},"url":{"type":"string","title":"Url"},"description":{"type":"string","title":"Description"}},"type":"object","required":["title","url","description"],"title":"SearchResult"},"ValidationError":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"},"VideoResponse":{"properties":{"query":{"type":"string","title":"Query"},"country":{"type":"string","title":"Country"},"page":{"type":"integer","title":"Page"},"results":{"items":{"$ref":"#/components/schemas/VideoResult"},"type":"array","title":"Results"},"total_results":{"type":"integer","title":"Total Results"},"credits_remaining":{"type":"integer","title":"Credits Remaining"}},"type":"object","required":["query","country","page","results","total_results","credits_remaining"],"title":"VideoResponse"},"VideoResult":{"properties":{"title":{"type":"string","title":"Title"},"url":{"type":"string","title":"Url"},"description":{"type":"string","title":"Description"},"duration":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Duration"},"published":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Published"}},"type":"object","required":["title","url","description"],"title":"VideoResult"}},"securitySchemes":{"APIKeyHeader":{"type":"apiKey","in":"header","name":"X-API-Key"}}}}