let result = try await pool.context.query("recipes from last week", using: grant)
Pool reads the question on the device with fixed rules: kind words become type filters (“recipes”), source words become source filters (“screenshots”), date phrases become a capture window (“last week”), and the rest become search words. The same question always produces the same plan, and the plan comes back on the result so you can show or log how it was read.
Filters you set yourself win over the words. A query returns things, such as products and places. To get the photos themselves, or photos that look like one you already have, use search and similar.
A cursor belongs to one version of the index. If the index is rebuilt or deleted, an old cursor fails with PoolError.invalidCursor and you start again from the first page.
Search by exact words works in any language Apple’s text recognition reads. Ranking by meaning and related-word expansion cover English in version 1.
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"PoolKit","description":"PoolKit is the camera roll SDK for iOS: products, places, events, recipes, links and more from a person's photos and screenshots, read on their device, with evidence for every answer and a grant they can take back.","colors":{"primary":"#0079da","light":"#5cb3ff","dark":"#0079da"},"logo":{"light":"https://mintcdn.com/pool-9439479c/lF-tmkkOi5yP66Mc/logo/light.png?fit=max\u0026auto=format\u0026n=lF-tmkkOi5yP66Mc\u0026q=85\u0026s=8624a6b63da7ec86f9c3b6772d4edbbc","dark":"https://mintcdn.com/pool-9439479c/lF-tmkkOi5yP66Mc/logo/dark.png?fit=max\u0026auto=format\u0026n=lF-tmkkOi5yP66Mc\u0026q=85\u0026s=f7058c574872bbf99c0b5862a74cc39b","href":"https://pool.day/developers"},"favicon":"https://mintcdn.com/pool-9439479c/lF-tmkkOi5yP66Mc/favicon.png?fit=max\u0026auto=format\u0026n=lF-tmkkOi5yP66Mc\u0026q=85\u0026s=d697d6ec66c8593834dcd912c5c44aa3","navbar":{"links":[{"href":"https://pool.day/developers","label":"Overview"},{"href":"https://pool.day/developers/pricing","label":"Pricing"}],"primary":{"type":"button","label":"Get a key","href":"https://pool.day/developers/dashboard"}},"footer":{"socials":{"website":"https://pool.day","x":"https://x.com/pooool","instagram":"https://instagram.com/poolscreenshots"}},"seo":{"metatags":{"robots":"noindex"}},"fonts":{"heading":{"family":"Averia Serif Libre","weight":400},"body":{"family":"Inter"}},"contextual":{"options":["copy","view","claude","chatgpt","cursor"],"display":"header"},"styling":{"latex":false},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"pool-9439479c","hasAudioNarration":false,"actualSubdomain":"pool-9439479c","customDomains":["docs.pool.day"],"gitSource":{"type":"github","owner":"ram-company","repo":"pool","deployBranch":"claude/project-thread-c687hs","contentDirectory":"sdk/docs","isPrivate":true,"mountPath":"","label":"","_id":"6af566ca4b0bf5ceba92dfcb"},"entitlements":{},"buildId":"6af65b01b373203ca78c707f","clientVersion":"0.0.4124","searchFilterCounts":[{"language":"default","tag":"Guides","count":21},{"language":"default","tag":"Reference","count":6},{"language":"default","tag":"Get started","count":2}]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableAskAiSearchBar":true},"basePath":"","hasChatPermissions":false,"hasWebMcpPermissions":false,"toggles":[],"googleFontsInlined":true},"customCss":[],"page":{"pagePath":"queries","slug":"/queries","pageMetadata":{"title":"Queries","description":"Ask in plain words, with a typed query, or both. Every answer says how Pool knows it and how much it could see.","keywords":["query","things","products","places","events","filters"],"href":"/queries"},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"Ask in plain words, with a typed query, or both. Every answer says how Pool knows it and how much it could see.\"\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={a:`a`,code:`code`,p:`p`,pre:`pre`,span:`span`,tbody:`tbody`,td:`td`,th:`th`,thead:`thead`,tr:`tr`,..._provideComponents(),...props.components},{CodeBlock,Heading,Table}=_components;if(!CodeBlock)_missingMdxReference(`CodeBlock`,true);if(!Heading)_missingMdxReference(`Heading`,true);if(!Table)_missingMdxReference(`Table`,true);return _jsxs(_Fragment,{children:[_jsx(Heading,{level:`2`,id:`plain-words`,children:`Plain words`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`1`,language:`swift`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`swift`,children:_jsxs(_components.code,{language:`swift`,numberOfLines:`1`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`let`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` result `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:` try`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:` await`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` pool.`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`context`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#DCDCAA`},children:`query`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"recipes from last week\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#DCDCAA`},children:`using`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: grant)`})]}),`\n`]})})}),`\n`,_jsx(_components.p,{children:`Pool reads the question on the device with fixed rules: kind words become type filters (“recipes”), source words become source filters (“screenshots”), date phrases become a capture window (“last week”), and the rest become search words. The same question always produces the same plan, and the plan comes back on the result so you can show or log how it was read.`}),`\n`,_jsx(Heading,{level:`2`,id:`typed-queries`,children:`Typed queries`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`6`,language:`swift`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`swift`,children:_jsxs(_components.code,{language:`swift`,numberOfLines:`6`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`var`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` query `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#DCDCAA`},children:` ContextQuery`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#DCDCAA`},children:`text`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"running shoes\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`)`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`query.`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`types`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` =`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` [.`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`product`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`]`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`query.`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`sources`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` =`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` [.`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`screenshots`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`]`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`query.`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`dateRange`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` =`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#DCDCAA`},children:` DateInterval`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#DCDCAA`},children:`start`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: monthAgo, `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#DCDCAA`},children:`end`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: .`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`now`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`)`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`let`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` result `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:` try`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:` await`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` pool.`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`context`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#DCDCAA`},children:`query`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(query, `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#DCDCAA`},children:`using`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: grant, `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#DCDCAA`},children:`limit`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`20`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`)`})]}),`\n`]})})}),`\n`,_jsxs(_components.p,{children:[`Filters you set yourself win over the words. A query returns things, such as products and places. To get the photos themselves, or photos that look like one you already have, use `,_jsx(_components.a,{href:`/search`,children:`search and similar`}),`.`]}),`\n`,_jsx(Heading,{level:`2`,id:`what-comes-back`,children:`What comes back`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`On QueryResult`}),_jsx(_components.th,{children:`Meaning`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`matches`})}),_jsxs(_components.td,{children:[`Ranked things and captures. Each has a `,_jsx(_components.code,{children:`summary`}),`, a `,_jsx(_components.code,{children:`confidence`}),`, a `,_jsx(_components.code,{children:`provenance`}),`, how often and when it was seen.`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`evidence`})}),_jsx(_components.td,{children:`Which capture each match came from, where in it, and which extractor produced it.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`coverage`})}),_jsxs(_components.td,{children:[`What Pool could see when it answered. See `,_jsx(_components.a,{href:`/evidence`,children:`Evidence and coverage`}),`.`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`asOf`})}),_jsx(_components.td,{children:`When the answer was computed.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`plan`})}),_jsx(_components.td,{children:`How the question was read: filters, search words and the date window.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`nextCursor`})}),_jsxs(_components.td,{children:[`Pass it back as `,_jsx(_components.code,{children:`cursor`}),` for the next page. `,_jsx(_components.code,{children:`nil`}),` on the last page.`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`traceID`})}),_jsx(_components.td,{children:`An identifier with no personal content, safe to put in your logs and support tickets.`})]})]})]}),`\n`,_jsx(Heading,{level:`2`,id:`paging`,children:`Paging`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`4`,language:`swift`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`swift`,children:_jsxs(_components.code,{language:`swift`,numberOfLines:`4`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`var`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` page `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:` try`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:` await`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` pool.`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`context`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#DCDCAA`},children:`query`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(query, `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#DCDCAA`},children:`using`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: grant, `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#DCDCAA`},children:`limit`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`20`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`)`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`while`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:` let`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` cursor `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` page.nextCursor {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` page `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:` try`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:` await`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` pool.`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`context`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#DCDCAA`},children:`query`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(query, `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#DCDCAA`},children:`using`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: grant, `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#DCDCAA`},children:`limit`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`20`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#DCDCAA`},children:`cursor`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: cursor)`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`}`})}),`\n`]})})}),`\n`,_jsxs(_components.p,{children:[`A cursor belongs to one version of the index. If the index is rebuilt or deleted, an old cursor fails with `,_jsx(_components.code,{children:`PoolError.invalidCursor`}),` and you start again from the first page.`]}),`\n`,_jsx(Heading,{level:`2`,id:`languages`,children:`Languages`}),`\n`,_jsx(_components.p,{children:`Search by exact words works in any language Apple’s text recognition reads. Ranking by meaning and related-word expansion cover English in version 1.`})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Queries","description":"Ask in plain words, with a typed query, or both. Every answer says how Pool knows it and how much it could see.","keywords":["query","things","products","places","events","filters"],"href":"/queries"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"Plain words","slug":"plain-words","depth":2,"children":[]},{"title":"Typed queries","slug":"typed-queries","depth":2,"children":[]},{"title":"What comes back","slug":"what-comes-back","depth":2,"children":[]},{"title":"Paging","slug":"paging","depth":2,"children":[]},{"title":"Languages","slug":"languages","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":[],"subdomain":"pool-9439479c","siteName":"PoolKit","title":"Queries - PoolKit","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-11-12T07:12:13.792Z","originalFileLocation":"queries.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"Ask in plain words, with a typed query, or both. Every answer says how Pool knows it and how much it could see.\">\u003cmeta data-mint-head name=\"application-name\" content=\"PoolKit\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003cmeta data-mint-head name=\"robots\" content=\"noindex\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/pool-9439479c/UR2UwVKPxMkFWz3b/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/pool-9439479c/UR2UwVKPxMkFWz3b/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/pool-9439479c/UR2UwVKPxMkFWz3b/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/pool-9439479c/UR2UwVKPxMkFWz3b/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/pool-9439479c/UR2UwVKPxMkFWz3b/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/pool-9439479c/UR2UwVKPxMkFWz3b/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/pool-9439479c/UR2UwVKPxMkFWz3b/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/pool-9439479c/UR2UwVKPxMkFWz3b/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/pool-9439479c/UR2UwVKPxMkFWz3b/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Queries - PoolKit\">\u003cmeta data-mint-head property=\"og:description\" content=\"Ask in plain words, with a typed query, or both. Every answer says how Pool knows it and how much it could see.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"PoolKit\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.pool.day/queries\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://pool-9439479c.mintlify.site/_mintlify/api/og/v2?division=Guides\u0026amp;title=Queries\u0026amp;description=Ask+in+plain+words%2C+with+a+typed+query%2C+or+both.+Every+answer+says+how+Pool+knows+it+and+how+much+it+could+see.\u0026amp;theme=b56005e330256dc337395ab1\u0026amp;signature=fb324ccd67b53cb16b91e6274c53ebf756f69243aa4b1f4808c62db527be3f31\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Queries - PoolKit\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Ask in plain words, with a typed query, or both. Every answer says how Pool knows it and how much it could see.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://pool-9439479c.mintlify.site/_mintlify/api/og/v2?division=Guides\u0026amp;title=Queries\u0026amp;description=Ask+in+plain+words%2C+with+a+typed+query%2C+or+both.+Every+answer+says+how+Pool+knows+it+and+how+much+it+could+see.\u0026amp;theme=b56005e330256dc337395ab1\u0026amp;signature=fb324ccd67b53cb16b91e6274c53ebf756f69243aa4b1f4808c62db527be3f31\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/pool-9439479c/UR2UwVKPxMkFWz3b/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"PoolKit\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#0079da\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.pool.day/queries\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/queries.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.pool.day/#organization\",\"name\":\"PoolKit\",\"url\":\"https://docs.pool.day\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/pool-9439479c/lF-tmkkOi5yP66Mc/logo/light.png?fit=max\u0026auto=format\u0026n=lF-tmkkOi5yP66Mc\u0026q=85\u0026s=8624a6b63da7ec86f9c3b6772d4edbbc\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.pool.day#website\",\"name\":\"PoolKit\",\"url\":\"https://docs.pool.day\",\"publisher\":{\"@id\":\"https://docs.pool.day/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.pool.day/queries#webpage\",\"url\":\"https://docs.pool.day/queries\",\"name\":\"Queries\",\"description\":\"Ask in plain words, with a typed query, or both. Every answer says how Pool knows it and how much it could see.\",\"dateModified\":\"2026-11-12T07:12:13.792Z\",\"isPartOf\":{\"@id\":\"https://docs.pool.day#website\"},\"breadcrumb\":{\"@id\":\"https://docs.pool.day/queries#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.pool.day/queries#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Guides\",\"item\":\"https://docs.pool.day/grants\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Queries\",\"item\":\"https://docs.pool.day/queries\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://docs.pool.day/queries#article\",\"headline\":\"Queries\",\"name\":\"Queries\",\"description\":\"Ask in plain words, with a typed query, or both. Every answer says how Pool knows it and how much it could see.\",\"url\":\"https://docs.pool.day/queries\",\"mainEntityOfPage\":{\"@id\":\"https://docs.pool.day/queries#webpage\"},\"dateModified\":\"2026-11-12T07:12:13.792Z\",\"keywords\":\"query, things, products, places, events, filters\",\"publisher\":{\"@id\":\"https://docs.pool.day/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.pool.day#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"PoolKit\",\"publisher\":{\"@type\":\"Organization\",\"name\":\"PoolKit\"},\"provider\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","agentPointerHref":"/queries.md","siteName":"PoolKit","nav":{"global":null,"groups":[{"group":"Get started","pages":[{"title":"Quickstart","href":"/index"},{"title":"React Native and Expo","href":"/expo"}]},{"group":"Guides","pages":[{"title":"Grants","description":"A grant is the person's permission for one purpose. Pool indexes and answers only what an active grant covers.","href":"/grants"},{"title":"Queries","href":"/queries"},{"title":"Search and browse","description":"Find the photos themselves by what they say and what they show, find look-alikes, and count what a library holds.","href":"/search"},{"title":"Classify by a rule","href":"/classify"},{"title":"Signals","href":"/signals"},{"title":"Interests","href":"/interests"},{"title":"Rank a catalog","href":"/rank"},{"title":"Trips","href":"/trips"},{"title":"Places and visits","href":"/places"},{"title":"People","href":"/people"},{"title":"Read one capture","href":"/reader"},{"title":"Answers and profiles","href":"/answers"},{"title":"Evidence and coverage","href":"/evidence"},{"title":"Live queries and changes","href":"/live"},{"title":"Indexing","href":"/indexing"},{"title":"Cloud assist","href":"/cloud-assist"},{"title":"App Attest","href":"/app-attest"},{"title":"Privacy and data flow","href":"/privacy"},{"title":"App Review and privacy labels","href":"/app-review"},{"title":"Testing","href":"/testing"},{"title":"Build with an agent","href":"/mcp"}]},{"group":"Reference","pages":[{"title":"Troubleshooting","href":"/troubleshooting"},{"title":"Errors","href":"/errors"},{"title":"Keys, apps and run reports","href":"/keys"},{"title":"Service API","href":"/service"},{"title":"Limits and roadmap","href":"/limits"},{"title":"Changelog","href":"/changelog"}]}]},"basePath":"","title":"Queries - PoolKit","buildId":"dpl_8hoxaqFTU7hTr6A2fUraxAyjuiZo","deploymentId":"dpl_8hoxaqFTU7hTr6A2fUraxAyjuiZo","dynamics":[],"chunks":[]}