searxng_query.json 6.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288
  1. {
  2. "title": "SearXNG result",
  3. "description": "Unofficial schema draft for result of a query to an SearX/SearXNG API",
  4. "type": "object",
  5. "properties": {
  6. "query": {
  7. "type": "string",
  8. "minLength": 1,
  9. "maxLength": 1024
  10. },
  11. "number_of_results": {
  12. "type": "number",
  13. "minLength": 0,
  14. "maxLength": 1024
  15. },
  16. "results": {
  17. "type": "array",
  18. "items": {
  19. "type": "object",
  20. "additionalProperties": false,
  21. "properties": {
  22. "url": {"type": "string", "format": "uri"},
  23. "title": {"type": "string"},
  24. "engine": {"type": "string"},
  25. "parsed_url": {
  26. "type": "array",
  27. "prefixItems": [
  28. {
  29. "type": "string",
  30. "description": "URL scheme",
  31. "enum": ["http", "https"]
  32. },
  33. {
  34. "type": "string",
  35. "description": "URL netloc"
  36. },
  37. {
  38. "type": "string",
  39. "description": "URL path"
  40. },
  41. {
  42. "type": "string",
  43. "description": "URL parameters"
  44. },
  45. {
  46. "type": "string",
  47. "description": "URL query"
  48. },
  49. {
  50. "type": "string",
  51. "description": "URL fragment"
  52. }
  53. ]
  54. },
  55. "engines": {
  56. "type": "array",
  57. "description": "Search engines that returned this result",
  58. "items": {
  59. "type": "string"
  60. },
  61. "minItems": 1,
  62. "maxItems": 255
  63. },
  64. "metadata": {"type": "string"},
  65. "positions": {
  66. "type": "array",
  67. "description": "TODO",
  68. "items": {
  69. "type": "number"
  70. }
  71. },
  72. "content": {"type": "string"},
  73. "score": {"type": "number"},
  74. "category": {"type": "string"},
  75. "content": {"type": "string"},
  76. "pretty_url": {"type": "string", "format": "uri"},
  77. "is_onion": {"type": "boolean"},
  78. "publishedDate": {"type": "string", "format": "date-time"},
  79. "pubdate": {"type": "string"},
  80. "thumbnail_src": {"type": "string"},
  81. "template": {"type": "string"},
  82. "author": {
  83. "oneOf": [
  84. {"type": "string"},
  85. {"type": "null"}
  86. ]
  87. },
  88. "source": {"type": "string"},
  89. "img_format": {"type": "string"},
  90. "img_src": {
  91. "oneOf": [
  92. {"type": "string"},
  93. {"type": "null"}
  94. ]
  95. },
  96. "seed": {
  97. "oneOf": [
  98. {"type": "string"},
  99. {"type": "number"}
  100. ]
  101. },
  102. "leech": {
  103. "oneOf": [
  104. {"type": "string"},
  105. {"type": "number"}
  106. ]
  107. },
  108. "magnetlink": {"type": "string"},
  109. "torrentfile": {"type": "string"},
  110. "filesize": {
  111. "oneOf": [
  112. {"type": "number"},
  113. {"type": "null"}
  114. ]
  115. },
  116. "infohash": {"type": "string"},
  117. "files": {
  118. "oneOf": [
  119. {"type": "string"},
  120. {"type": "number"},
  121. {"type": "null"}
  122. ]
  123. },
  124. "link": {"type": "string"},
  125. "thumbnail": {"type": "string"},
  126. "embedded": {"type": "string"},
  127. "length": {"type": "string"},
  128. "code_language": {"type": "string"},
  129. "codelines": {"type": "array", "description": "TODO"},
  130. "repository": {"type": "string"},
  131. "longitude": {
  132. "oneOf": [
  133. {"type": "string"},
  134. {"type": "number"}
  135. ]
  136. },
  137. "latitude": {
  138. "oneOf": [
  139. {"type": "string"},
  140. {"type": "number"}
  141. ]
  142. },
  143. "boundingbox": {"type": "array", "description": "TODO"},
  144. "geojson": {"type": "array", "description": "TODO"},
  145. "address": {"type": "array", "description": "TODO"},
  146. "osm": {"type": "array", "description": "TODO"}
  147. }
  148. }
  149. },
  150. "answers": {
  151. "type": "array",
  152. "description": "TODO",
  153. "items": {
  154. "type": "string",
  155. "minLength": 1,
  156. "maxLength": 4096
  157. }
  158. },
  159. "corrections": {
  160. "type": "array",
  161. "description": "TODO",
  162. "items": {
  163. "type": "string",
  164. "minLength": 1,
  165. "maxLength": 4096
  166. }
  167. },
  168. "infoboxes": {
  169. "type": "array",
  170. "items": {
  171. "type": "object",
  172. "additionalProperties": false,
  173. "properties": {
  174. "infobox": {"type": "string"},
  175. "id": {"type": "string", "format": "uri"},
  176. "content": {
  177. "type": "string",
  178. "minLength": 0,
  179. "maxLength": 4096
  180. },
  181. "img_src": {
  182. "oneOf": [
  183. {
  184. "type": "string",
  185. "format": "uri"
  186. },
  187. {
  188. "type": "null"
  189. }
  190. ]
  191. },
  192. "urls": {
  193. "type": "array",
  194. "description": "TODO",
  195. "items": {
  196. "type": "object",
  197. "properties": {
  198. "title": {
  199. "type": "string",
  200. "minLength": 0,
  201. "maxLength": 255
  202. },
  203. "url": {
  204. "type": "string",
  205. "format": "uri"
  206. },
  207. "entity": {
  208. "type": "string",
  209. "minLength": 0,
  210. "maxLength": 255
  211. },
  212. "official": {
  213. "type": "boolean"
  214. }
  215. },
  216. "additionalProperties": false
  217. }
  218. },
  219. "attributes": {
  220. "type": "array",
  221. "description": "TODO",
  222. "items": {
  223. "type": "object",
  224. "properties": {
  225. "label": {
  226. "type": "string",
  227. "minLength": 0,
  228. "maxLength": 255
  229. },
  230. "value": {
  231. "type": "string",
  232. "minLength": 0,
  233. "maxLength": 1024
  234. },
  235. "entity": {
  236. "type": "string",
  237. "minLength": 0,
  238. "maxLength": 1024
  239. }
  240. },
  241. "additionalProperties": false
  242. }
  243. },
  244. "engines": {
  245. "type": "array",
  246. "description": "TODO",
  247. "items": {
  248. "type": "string",
  249. "minLength": 1,
  250. "maxLength": 255
  251. }
  252. },
  253. "engine": {
  254. "type": "string",
  255. "description": "TODO"
  256. }
  257. }
  258. }
  259. },
  260. "suggestions": {
  261. "type": "array",
  262. "items": {
  263. "type": "string",
  264. "minLength": 1,
  265. "maxLength": 1024
  266. },
  267. "minItems": 0,
  268. "maxItems": 64
  269. },
  270. "unresponsive_engines": {
  271. "type": "array",
  272. "items": {
  273. "type": "array",
  274. "items": false,
  275. "prefixItems": [
  276. {"type": "string", "description": "engine"},
  277. {"type": "string", "description": "error message"}
  278. ],
  279. "minLength": 2,
  280. "maxLength": 2
  281. },
  282. "minItems": 0,
  283. "maxItems": 128
  284. }
  285. },
  286. "additionalProperties": false
  287. }