Lists the buildings or companies (registered offices) matching a search, in a stable order, paginated by cursor (pass `meta.page.next_cursor` as `cursor` with the same filters). `meta.total` is a lower bound while pages remain: POST /v1/search/count gives the total.
A search has a `target` (`buildings` or `companies`), a `zone` (city, district, postal code; department for buildings only), `conditions` that all apply (AND) and optional `any_of` groups (at least one condition of each group applies). Each condition names a field from GET /v1/search/fields and gives `values`, or `min`/`max`, according to the field's `operator`.
Example: {"target": "buildings", "zone": {"type": "city", "code": "69266"}, "conditions": [{"field": "batiment.annee_construction", "max": 1974}, {"field": "dpe.classe", "values": ["F", "G"]}]}
Weight: 5 (counts 5× against the rate limit and the daily quota).
{"docsConfig":{"theme":"willow","$schema":"https://mintlify.com/docs.json","name":"Gabin","description":"API and MCP server for French company and real-estate data: companies, officers, buildings, parcels, addresses and zones, in JSON.","colors":{"primary":"#b8532f","light":"#e58565","dark":"#b8532f"},"favicon":"https://mintcdn.com/gabin-9a706bd0/cBazBWvgaeqUqLpv/logo/mark.svg?fit=max\u0026auto=format\u0026n=cBazBWvgaeqUqLpv\u0026q=85\u0026s=5ec4a7c1e884ad39edacda22efee5f61","api":{"playground":{"display":"interactive"},"examples":{"languages":["curl","javascript","python"]}},"appearance":{"default":"dark"},"background":{"color":{"light":"#faf8f3","dark":"#0a0c11"}},"navbar":{"links":[{"href":"https://gabin.ai","label":"gabin.ai"}],"primary":{"type":"button","label":"Get an API key","href":"https://gabin.ai/compte/api"}},"footer":{"socials":{"website":"https://gabin.ai"}},"seo":{"metatags":{"og:site_name":"Gabin docs"}},"icons":{"library":"lucide"},"styling":{"latex":false},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"gabin-9a706bd0","hasAudioNarration":false,"actualSubdomain":"gabin-9a706bd0","customDomains":["docs.gabin.ai"],"gitSource":{"type":"github","owner":"zachjve","repo":"gabin-monorepo","deployBranch":"main","contentDirectory":"apps/gabin/docs","isPrivate":true,"mountPath":"","label":"","_id":"6af337f2b16397a01beb3c97"},"entitlements":{"AI_CHAT":{"status":"ENABLED"},"WEB_MCP":{"status":"ENABLED"},"NARRATION":{"status":"ENABLED"}},"buildId":"6af33bc60ef9c866310a3d59","clientVersion":"0.0.4094","searchFilterCounts":[{"language":"default","tag":"Getting Started","count":2}]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableContextualStarterQuestions":false,"enableAskAiSearchBar":true},"basePath":"","hasChatPermissions":true,"hasWebMcpPermissions":true,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-rbac-roles","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"rbac-expansion","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-dual-write","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-metadata","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-serve","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"live-agents","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":true},"customCss":[],"page":{"pagePath":"api-reference/search/run-a-multi-criteria-search","slug":"/api-reference/search/run-a-multi-criteria-search","pageMetadata":{"title":"Run a multi-criteria search","description":"Lists the buildings or companies (registered offices) matching a search, in a stable order, paginated by cursor (pass `meta.page.next_cursor` as `cursor` with the same filters). `meta.total` is a lower bound while pages remain: POST /v1/search/count gives the total.\n\nA search has a `target` (`buildings` or `companies`), a `zone` (city, district, postal code; department for buildings only), `conditions` that all apply (AND) and optional `any_of` groups (at least one condition of each group applies). Each condition names a field from GET /v1/search/fields and gives `values`, or `min`/`max`, according to the field's `operator`.\n\nExample: {\"target\": \"buildings\", \"zone\": {\"type\": \"city\", \"code\": \"69266\"}, \"conditions\": [{\"field\": \"batiment.annee_construction\", \"max\": 1974}, {\"field\": \"dpe.classe\", \"values\": [\"F\", \"G\"]}]}\n\nWeight: 5 (counts 5× against the rate limit and the daily quota).","deprecated":null,"version":null,"openapi":"https://api.gabin.ai/v1/openapi.json post /v1/search","href":"/api-reference/search/run-a-multi-criteria-search","autogeneratedByOpenApi":true},"description":"Lists the buildings or companies (registered offices) matching a search, in a stable order, paginated by cursor (pass `meta.page.next_cursor` as `cursor` with the same filters). `meta.total` is a lower bound while pages remain: POST /v1/search/count gives the total.\n\nA search has a `target` (`buildings` or `companies`), a `zone` (city, district, postal code; department for buildings only), `conditions` that all apply (AND) and optional `any_of` groups (at least one condition of each group applies). Each condition names a field from GET /v1/search/fields and gives `values`, or `min`/`max`, according to the field's `operator`.\n\nExample: {\"target\": \"buildings\", \"zone\": {\"type\": \"city\", \"code\": \"69266\"}, \"conditions\": [{\"field\": \"batiment.annee_construction\", \"max\": 1974}, {\"field\": \"dpe.classe\", \"values\": [\"F\", \"G\"]}]}\n\nWeight: 5 (counts 5× against the rate limit and the daily quota).","pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){return _jsx(_Fragment,{})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Run a multi-criteria search","description":"Lists the buildings or companies (registered offices) matching a search, in a stable order, paginated by cursor (pass `meta.page.next_cursor` as `cursor` with the same filters). `meta.total` is a lower bound while pages remain: POST /v1/search/count gives the total.\n\nA search has a `target` (`buildings` or `companies`), a `zone` (city, district, postal code; department for buildings only), `conditions` that all apply (AND) and optional `any_of` groups (at least one condition of each group applies). Each condition names a field from GET /v1/search/fields and gives `values`, or `min`/`max`, according to the field's `operator`.\n\nExample: {\"target\": \"buildings\", \"zone\": {\"type\": \"city\", \"code\": \"69266\"}, \"conditions\": [{\"field\": \"batiment.annee_construction\", \"max\": 1974}, {\"field\": \"dpe.classe\", \"values\": [\"F\", \"G\"]}]}\n\nWeight: 5 (counts 5× against the rate limit and the daily quota).","deprecated":null,"version":null,"openapi":"https://api.gabin.ai/v1/openapi.json post /v1/search","href":"/api-reference/search/run-a-multi-criteria-search","autogeneratedByOpenApi":true}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":[],"openApiReferenceData":{"operation":{"operationId":"search","summary":"Run a multi-criteria search","description":"Lists the buildings or companies (registered offices) matching a search, in a stable order, paginated by cursor (pass `meta.page.next_cursor` as `cursor` with the same filters). `meta.total` is a lower bound while pages remain: POST /v1/search/count gives the total.\n\nA search has a `target` (`buildings` or `companies`), a `zone` (city, district, postal code; department for buildings only), `conditions` that all apply (AND) and optional `any_of` groups (at least one condition of each group applies). Each condition names a field from GET /v1/search/fields and gives `values`, or `min`/`max`, according to the field's `operator`.\n\nExample: {\"target\": \"buildings\", \"zone\": {\"type\": \"city\", \"code\": \"69266\"}, \"conditions\": [{\"field\": \"batiment.annee_construction\", \"max\": 1974}, {\"field\": \"dpe.classe\", \"values\": [\"F\", \"G\"]}]}\n\nWeight: 5 (counts 5× against the rate limit and the daily quota).","tags":["Search"],"parameters":[],"requestBody":"6ab16e08-234e-46cc-b34b-722122dda4e6","responses":{"200":"309bbb20-dccc-45d2-91dd-b8c5fbefcf02","400":"6f02ac2e-2350-493e-9576-cae48f1177e2","401":"bf901f78-b742-44a4-bf01-d9752dbab616","429":"e4ae11f6-930a-4fe0-bc9d-0e51c7453402","503":"f6e42369-10c7-4830-bfb9-7f2b38404474"},"method":"post","type":"path","servers":["3e41f96b-1a73-422d-9864-0708cc4336c9"],"security":["d5f05588-6710-4886-99e9-55f3a4f78bce"],"path":"/v1/search","baseUrlOptions":["https://api.gabin.ai"],"title":"Run a multi-criteria search","codeSamples":[],"requestExampleLanguages":["bash","javascript","python"],"requiredOnlyExamples":false,"requestExampleType":"generated","responseExampleType":"generated"},"dependencies":{"parameters":{},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"target":{"type":"string","enum":["buildings","companies"],"description":"`buildings` returns BDNB buildings; `companies` returns registered offices.","isRequired":true,"uniqueKey":"target","typeLabel":"enum\u003cstring>"},"conditions":{"default":[],"description":"All conditions apply (AND). Empty: everything in the zone.","maxItems":12,"type":"array","items":{"type":"object","properties":{"field":{"type":"string","maxLength":60,"description":"Field id from GET /v1/search/fields.","isRequired":true,"uniqueKey":"conditions.items.[INDEX].field","typeLabel":"string"},"values":{"default":[],"description":"Codes (enum), NAF codes (naf), [\"true\"] or [\"false\"] (boolean), [prefix] (text).","maxItems":40,"type":"array","items":{"type":"string","maxLength":120,"uniqueKey":"conditions.items.[INDEX].values.items.[INDEX]","typeLabel":"string"},"isRequired":true,"uniqueKey":"conditions.items.[INDEX].values","typeLabel":"string[]"},"min":{"oneOf":[{"default":null,"description":"Lower bound, inclusive (number).","type":"number","isRequired":true,"uniqueKey":"conditions.items.[INDEX].min.oneOf.0","typeLabel":"number"},{"default":null,"description":"Lower bound, inclusive (number).","type":"null","isRequired":true,"uniqueKey":"conditions.items.[INDEX].min.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"conditions.items.[INDEX].min","typeLabel":"number | null"},"max":{"oneOf":[{"default":null,"description":"Upper bound, inclusive (number).","type":"number","isRequired":true,"uniqueKey":"conditions.items.[INDEX].max.oneOf.0","typeLabel":"number"},{"default":null,"description":"Upper bound, inclusive (number).","type":"null","isRequired":true,"uniqueKey":"conditions.items.[INDEX].max.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"conditions.items.[INDEX].max","typeLabel":"number | null"}},"required":["field","values","min","max"],"description":"One condition on a catalog field.","uniqueKey":"conditions.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"conditions","typeLabel":"object[]"},"any_of":{"default":[],"description":"OR groups: at least one condition of each group applies. Up to 4 groups, 12 conditions in total.","maxItems":4,"type":"array","items":{"type":"object","properties":{"conditions":{"minItems":2,"maxItems":6,"type":"array","items":{"type":"object","properties":{"field":{"type":"string","maxLength":60,"description":"Field id from GET /v1/search/fields.","isRequired":true,"uniqueKey":"any_of.items.[INDEX].conditions.items.[INDEX].field","typeLabel":"string"},"values":{"default":[],"description":"Codes (enum), NAF codes (naf), [\"true\"] or [\"false\"] (boolean), [prefix] (text).","maxItems":40,"type":"array","items":{"type":"string","maxLength":120,"uniqueKey":"any_of.items.[INDEX].conditions.items.[INDEX].values.items.[INDEX]","typeLabel":"string"},"isRequired":true,"uniqueKey":"any_of.items.[INDEX].conditions.items.[INDEX].values","typeLabel":"string[]"},"min":{"oneOf":[{"default":null,"description":"Lower bound, inclusive (number).","type":"number","isRequired":true,"uniqueKey":"any_of.items.[INDEX].conditions.items.[INDEX].min.oneOf.0","typeLabel":"number"},{"default":null,"description":"Lower bound, inclusive (number).","type":"null","isRequired":true,"uniqueKey":"any_of.items.[INDEX].conditions.items.[INDEX].min.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"any_of.items.[INDEX].conditions.items.[INDEX].min","typeLabel":"number | null"},"max":{"oneOf":[{"default":null,"description":"Upper bound, inclusive (number).","type":"number","isRequired":true,"uniqueKey":"any_of.items.[INDEX].conditions.items.[INDEX].max.oneOf.0","typeLabel":"number"},{"default":null,"description":"Upper bound, inclusive (number).","type":"null","isRequired":true,"uniqueKey":"any_of.items.[INDEX].conditions.items.[INDEX].max.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"any_of.items.[INDEX].conditions.items.[INDEX].max","typeLabel":"number | null"}},"required":["field","values","min","max"],"description":"One condition on a catalog field.","uniqueKey":"any_of.items.[INDEX].conditions.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"any_of.items.[INDEX].conditions","typeLabel":"object[]"}},"required":["conditions"],"uniqueKey":"any_of.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"any_of","typeLabel":"object[]"},"limit":{"default":20,"description":"Results per page, 1 to 100. Default 20.","type":"integer","minimum":1,"maximum":100,"isRequired":true,"uniqueKey":"limit","typeLabel":"integer"},"zone":{"description":"Area searched. Required: without it (whole France), and for companies in a whole department, the search is refused with `ZONE_REQUIRED`.","type":"object","properties":{"type":{"type":"string","enum":["city","district","postal_code","department"],"description":"Zone type.","isRequired":true,"uniqueKey":"zone.type","typeLabel":"enum\u003cstring>"},"code":{"type":"string","maxLength":12,"description":"INSEE code (city, \"69266\"), IRIS code (district, \"692660101\"), postal code (\"69100\") or department (\"69\"). Departments are accepted for buildings only.","isRequired":true,"uniqueKey":"zone.code","typeLabel":"string"}},"required":["type","code"],"uniqueKey":"zone","typeLabel":"object"},"cursor":{"description":"`meta.page.next_cursor` of the previous page, with the same filters.","type":"string","maxLength":400,"uniqueKey":"cursor","typeLabel":"string"}},"required":["target","conditions","any_of","limit"],"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"conditions":[],"any_of":[],"limit":20,"cursor":"\u003cstring>"}}},"exampleType":"generated"}},"exampleType":"generated"},"responses":{"309bbb20-dccc-45d2-91dd-b8c5fbefcf02":{"description":"OK","headers":{"X-Request-Id":{"description":"Unique id of the request; quote it when contacting support.","schema":{"type":"string"}},"X-RateLimit-Limit":{"description":"Weighted requests allowed per minute for the account.","schema":{"type":"integer"}},"X-RateLimit-Remaining":{"description":"Weighted requests left in the current minute.","schema":{"type":"integer"}},"X-RateLimit-Reset":{"description":"Seconds until the per-minute window resets.","schema":{"type":"integer"}},"X-Quota-Remaining":{"description":"Units left in the daily quota (UTC day).","schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"type":"object","required":["data","meta"],"properties":{"data":{"type":"array","items":{"oneOf":[{"type":"object","description":"A result: a building (`type: building`) or a company (`type: company`).","required":["type","id","address","city","usage","construction_year","housing_units","dpe_class","gabin_url"],"properties":{"type":{"type":"string","const":"building","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.0.type","typeLabel":"string"},"id":{"type":"string","description":"BDNB building id. Next: GET /v1/buildings/{id}.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.0.id","typeLabel":"string"},"address":{"type":"string","description":"Main address.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.0.address","typeLabel":"string"},"city":{"oneOf":[{"description":"City.","type":"string","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.0.city.oneOf.0","typeLabel":"string"},{"description":"City.","type":"null","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.0.city.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.0.city","typeLabel":"string | null"},"usage":{"oneOf":[{"description":"Main use (BDNB label, in French).","type":"string","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.0.usage.oneOf.0","typeLabel":"string"},{"description":"Main use (BDNB label, in French).","type":"null","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.0.usage.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.0.usage","typeLabel":"string | null"},"construction_year":{"oneOf":[{"type":"integer","description":"Construction year.","maximum":9007199254740991,"minimum":-9007199254740991,"isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.0.construction_year.oneOf.0","typeLabel":"integer"},{"type":"null","description":"Construction year.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.0.construction_year.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.0.construction_year","typeLabel":"integer | null"},"housing_units":{"oneOf":[{"type":"integer","description":"Dwellings.","maximum":9007199254740991,"minimum":-9007199254740991,"isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.0.housing_units.oneOf.0","typeLabel":"integer"},{"type":"null","description":"Dwellings.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.0.housing_units.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.0.housing_units","typeLabel":"integer | null"},"dpe_class":{"oneOf":[{"type":"string","description":"Representative energy class.","enum":["A","B","C","D","E","F","G"],"isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.0.dpe_class.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","description":"Representative energy class.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.0.dpe_class.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.0.dpe_class","typeLabel":"enum\u003cstring> | null"},"gabin_url":{"type":"string","description":"Page on gabin.ai.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.0.gabin_url","typeLabel":"string"}},"uniqueKey":"data.items.[INDEX].oneOf.0","typeLabel":"object"},{"type":"object","description":"A result: a building (`type: building`) or a company (`type: company`).","required":["type","siren","name","naf_code","naf_label","city","headcount_range","headquarters_building_id","gabin_url"],"properties":{"type":{"type":"string","const":"company","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.1.type","typeLabel":"string"},"siren":{"type":"string","description":"SIREN. Next: GET /v1/companies/{siren}.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.1.siren","typeLabel":"string"},"name":{"type":"string","description":"Name.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.1.name","typeLabel":"string"},"naf_code":{"oneOf":[{"description":"NAF code.","type":"string","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.1.naf_code.oneOf.0","typeLabel":"string"},{"description":"NAF code.","type":"null","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.1.naf_code.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.1.naf_code","typeLabel":"string | null"},"naf_label":{"type":"string","description":"NAF label, in French.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.1.naf_label","typeLabel":"string"},"city":{"oneOf":[{"description":"City of the registered office.","type":"string","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.1.city.oneOf.0","typeLabel":"string"},{"description":"City of the registered office.","type":"null","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.1.city.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.1.city","typeLabel":"string | null"},"headcount_range":{"type":"string","enum":["11","12","21","22","31","32","41","42","51","52","53","NN","00","01","02","03"],"description":"INSEE headcount range code.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.1.headcount_range","typeLabel":"enum\u003cstring>"},"headquarters_building_id":{"oneOf":[{"description":"BDNB building of the registered office, when matched.","type":"string","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.1.headquarters_building_id.oneOf.0","typeLabel":"string"},{"description":"BDNB building of the registered office, when matched.","type":"null","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.1.headquarters_building_id.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.1.headquarters_building_id","typeLabel":"string | null"},"gabin_url":{"type":"string","description":"Page on gabin.ai.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.1.gabin_url","typeLabel":"string"}},"uniqueKey":"data.items.[INDEX].oneOf.1","typeLabel":"object"}],"uniqueKey":"data.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"data","typeLabel":"object[]"},"meta":{"type":"object","properties":{"page":{"type":"object","properties":{"next_cursor":{"oneOf":[{"description":"Opaque cursor for the next page: pass it as `cursor` with the same filters. Null on the last page or once 10,000 results have been reached.","type":"string","isRequired":true,"uniqueKey":"meta.page.next_cursor.oneOf.0","typeLabel":"string"},{"description":"Opaque cursor for the next page: pass it as `cursor` with the same filters. Null on the last page or once 10,000 results have been reached.","type":"null","isRequired":true,"uniqueKey":"meta.page.next_cursor.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"meta.page.next_cursor","typeLabel":"string | null"},"limit":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"Page size used for this response.","isRequired":true,"uniqueKey":"meta.page.limit","typeLabel":"integer"}},"required":["next_cursor","limit"],"isRequired":true,"uniqueKey":"meta.page","typeLabel":"object"},"total":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"Number of matching results, qualified by `total_kind`. Example: 8337.","isRequired":true,"uniqueKey":"meta.total","typeLabel":"integer"},"total_kind":{"type":"string","enum":["exact","lower_bound","estimate"],"description":"`exact`: counted. `lower_bound`: at least this many (counting stopped). `estimate`: database planner estimate, can be off by a few percent.","isRequired":true,"uniqueKey":"meta.total_kind","typeLabel":"enum\u003cstring>"}},"required":["page","total","total_kind"],"description":"Pagination metadata of a list response.","isRequired":true,"uniqueKey":"meta","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"data":[{"type":"building","id":"\u003cstring>","address":"\u003cstring>","city":"\u003cstring>","usage":"\u003cstring>","construction_year":0,"housing_units":0,"dpe_class":"A","gabin_url":"\u003cstring>"}],"meta":{"page":{"next_cursor":"\u003cstring>","limit":0},"total":0,"total_kind":"exact"}}}},"exampleType":"generated"}},"exampleType":"generated"},"6f02ac2e-2350-493e-9576-cae48f1177e2":{"description":"ZONE_REQUIRED, INVALID, PAGINATION_LIMIT","headers":{"X-Request-Id":{"description":"Unique id of the request; quote it when contacting support.","schema":{"type":"string"}}},"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string","enum":["UNAUTHENTICATED","FORBIDDEN","NOT_FOUND","INVALID","ZONE_REQUIRED","PAGINATION_LIMIT","RATE_LIMITED","QUOTA_EXCEEDED","TIMEOUT","BUSY","INTERNAL"],"description":"Stable machine-readable code.","isRequired":true,"uniqueKey":"error.code","typeLabel":"enum\u003cstring>"},"message":{"type":"string","description":"Human-readable explanation, in English.","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"},"docs_url":{"type":"string","description":"Documentation page for this error code.","isRequired":true,"uniqueKey":"error.docs_url","typeLabel":"string"}},"required":["code","message","docs_url"],"isRequired":true,"uniqueKey":"error","typeLabel":"object"}},"required":["error"],"description":"Error body. The HTTP status matches `error.code`.","uniqueKey":"","typeLabel":"object"},"examples":{"ZONE_REQUIRED":{"title":"ZONE_REQUIRED","value":{"error":{"code":"ZONE_REQUIRED","message":"Add a location (insee, iris, department) or a name (q).","docs_url":"https://docs.gabin.ai/errors#zone_required"}}},"INVALID":{"title":"INVALID","value":{"error":{"code":"INVALID","message":"limit: Too big: expected number to be \u003c=100","docs_url":"https://docs.gabin.ai/errors#invalid"}}},"PAGINATION_LIMIT":{"title":"PAGINATION_LIMIT","value":{"error":{"code":"PAGINATION_LIMIT","message":"At most 10,000 results can be reached for one query. Narrow the filters.","docs_url":"https://docs.gabin.ai/errors#pagination_limit"}}}},"exampleType":"examples"}},"exampleType":"examples"},"bf901f78-b742-44a4-bf01-d9752dbab616":{"description":"UNAUTHENTICATED","headers":{"X-Request-Id":{"description":"Unique id of the request; quote it when contacting support.","schema":{"type":"string"}}},"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string","enum":["UNAUTHENTICATED","FORBIDDEN","NOT_FOUND","INVALID","ZONE_REQUIRED","PAGINATION_LIMIT","RATE_LIMITED","QUOTA_EXCEEDED","TIMEOUT","BUSY","INTERNAL"],"description":"Stable machine-readable code.","isRequired":true,"uniqueKey":"error.code","typeLabel":"enum\u003cstring>"},"message":{"type":"string","description":"Human-readable explanation, in English.","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"},"docs_url":{"type":"string","description":"Documentation page for this error code.","isRequired":true,"uniqueKey":"error.docs_url","typeLabel":"string"}},"required":["code","message","docs_url"],"isRequired":true,"uniqueKey":"error","typeLabel":"object"}},"required":["error"],"description":"Error body. The HTTP status matches `error.code`.","uniqueKey":"","typeLabel":"object"},"examples":{"UNAUTHENTICATED":{"title":"UNAUTHENTICATED","value":{"error":{"code":"UNAUTHENTICATED","message":"Invalid or revoked API key.","docs_url":"https://docs.gabin.ai/errors#unauthenticated"}}}},"exampleType":"examples"}},"exampleType":"examples"},"e4ae11f6-930a-4fe0-bc9d-0e51c7453402":{"description":"RATE_LIMITED, QUOTA_EXCEEDED","headers":{"X-Request-Id":{"description":"Unique id of the request; quote it when contacting support.","schema":{"type":"string"}},"Retry-After":{"description":"Seconds to wait before retrying.","schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string","enum":["UNAUTHENTICATED","FORBIDDEN","NOT_FOUND","INVALID","ZONE_REQUIRED","PAGINATION_LIMIT","RATE_LIMITED","QUOTA_EXCEEDED","TIMEOUT","BUSY","INTERNAL"],"description":"Stable machine-readable code.","isRequired":true,"uniqueKey":"error.code","typeLabel":"enum\u003cstring>"},"message":{"type":"string","description":"Human-readable explanation, in English.","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"},"docs_url":{"type":"string","description":"Documentation page for this error code.","isRequired":true,"uniqueKey":"error.docs_url","typeLabel":"string"}},"required":["code","message","docs_url"],"isRequired":true,"uniqueKey":"error","typeLabel":"object"}},"required":["error"],"description":"Error body. The HTTP status matches `error.code`.","uniqueKey":"","typeLabel":"object"},"examples":{"RATE_LIMITED":{"title":"RATE_LIMITED","value":{"error":{"code":"RATE_LIMITED","message":"Rate limit reached (60 weighted requests per minute). Retry in 12 s.","docs_url":"https://docs.gabin.ai/errors#rate_limited"}}},"QUOTA_EXCEEDED":{"title":"QUOTA_EXCEEDED","value":{"error":{"code":"QUOTA_EXCEEDED","message":"Daily quota reached (5000 units per UTC day). It resets at 00:00 UTC.","docs_url":"https://docs.gabin.ai/errors#quota_exceeded"}}}},"exampleType":"examples"}},"exampleType":"examples"},"f6e42369-10c7-4830-bfb9-7f2b38404474":{"description":"TIMEOUT, BUSY","headers":{"X-Request-Id":{"description":"Unique id of the request; quote it when contacting support.","schema":{"type":"string"}},"Retry-After":{"description":"Seconds to wait before retrying.","schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string","enum":["UNAUTHENTICATED","FORBIDDEN","NOT_FOUND","INVALID","ZONE_REQUIRED","PAGINATION_LIMIT","RATE_LIMITED","QUOTA_EXCEEDED","TIMEOUT","BUSY","INTERNAL"],"description":"Stable machine-readable code.","isRequired":true,"uniqueKey":"error.code","typeLabel":"enum\u003cstring>"},"message":{"type":"string","description":"Human-readable explanation, in English.","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"},"docs_url":{"type":"string","description":"Documentation page for this error code.","isRequired":true,"uniqueKey":"error.docs_url","typeLabel":"string"}},"required":["code","message","docs_url"],"isRequired":true,"uniqueKey":"error","typeLabel":"object"}},"required":["error"],"description":"Error body. The HTTP status matches `error.code`.","uniqueKey":"","typeLabel":"object"},"examples":{"TIMEOUT":{"title":"TIMEOUT","value":{"error":{"code":"TIMEOUT","message":"The query took too long. Narrow it down and retry.","docs_url":"https://docs.gabin.ai/errors#timeout"}}},"BUSY":{"title":"BUSY","value":{"error":{"code":"BUSY","message":"The API is serving too many database requests right now. Retry in 1 s.","docs_url":"https://docs.gabin.ai/errors#busy"}}}},"exampleType":"examples"}},"exampleType":"examples"}},"security":{"d5f05588-6710-4886-99e9-55f3a4f78bce":{"bearerAuth":{"type":"http","scheme":"bearer","description":"API key `gab_live_…` or OAuth access token `gat_…`.","scopes":[],"schemeName":"bearerAuth"}}},"servers":{"3e41f96b-1a73-422d-9864-0708cc4336c9":{"url":"https://api.gabin.ai"}},"processedSecurityOptions":[{"schemes":[{"scheme":{"type":"http","scheme":"bearer","description":"API key `gab_live_…` or OAuth access token `gat_…`.","scopes":[],"schemeName":"bearerAuth"},"schema":{"title":"Bearer Auth","type":"string","isRequired":true,"description":"API key `gab_live_…` or OAuth access token `gat_…`.","format":"bearer","typeLabel":"string\u003cbearer>","deprecated":false},"schemeName":"bearerAuth","name":"Authorization"}],"title":"bearerAuth"}]},"originalFileLocation":"https://api.gabin.ai/v1/openapi.json"},"subdomain":"gabin-9a706bd0","siteName":"Gabin","title":"Run a multi-criteria search - Gabin","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-11-10T15:44:12.824Z","originalFileLocation":"api-reference/search/run-a-multi-criteria-search.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=\"dark\"}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=\"Lists the buildings or companies (registered offices) matching a search, in a stable order, paginated by cursor (pass meta.page.next_cursor as cursor with the same filters). meta.total is a lower bound while pages remain: POST /v1/search/count gives the total. A search has a target (buildings or companies), a zone (city, district, postal code; department for buildings only), conditions that all apply (AND) and optional any_of groups (at least one condition of each group applies). Each condition names a field from GET /v1/search/fields and gives values, or min/max, according to the field\u0026#x27;s operator. Example: {\u0026quot;target\u0026quot;: \u0026quot;buildings\u0026quot;, \u0026quot;zone\u0026quot;: {\u0026quot;type\u0026quot;: \u0026quot;city\u0026quot;, \u0026quot;code\u0026quot;: \u0026quot;69266\u0026quot;}, \u0026quot;conditions\u0026quot;: [{\u0026quot;field\u0026quot;: \u0026quot;batiment.annee_construction\u0026quot;, \u0026quot;max\u0026quot;: 1974}, {\u0026quot;field\u0026quot;: \u0026quot;dpe.classe\u0026quot;, \u0026quot;values\u0026quot;: [\u0026quot;F\u0026quot;, \u0026quot;G\u0026quot;]}]} Weight: 5 (counts 5× against the rate limit and the daily quota).\">\u003cmeta data-mint-head name=\"application-name\" content=\"Gabin\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/gabin-9a706bd0/nGt2TIeNLMbDFHxw/_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/gabin-9a706bd0/nGt2TIeNLMbDFHxw/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/gabin-9a706bd0/nGt2TIeNLMbDFHxw/_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/gabin-9a706bd0/nGt2TIeNLMbDFHxw/_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/gabin-9a706bd0/nGt2TIeNLMbDFHxw/_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/gabin-9a706bd0/nGt2TIeNLMbDFHxw/_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/gabin-9a706bd0/nGt2TIeNLMbDFHxw/_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/gabin-9a706bd0/nGt2TIeNLMbDFHxw/_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/gabin-9a706bd0/nGt2TIeNLMbDFHxw/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Run a multi-criteria search - Gabin\">\u003cmeta data-mint-head property=\"og:description\" content=\"Lists the buildings or companies (registered offices) matching a search, in a stable order, paginated by cursor (pass meta.page.next_cursor as cursor with the same filters). meta.total is a lower bound while pages remain: POST /v1/search/count gives the total. A search has a target (buildings or companies), a zone (city, district, postal code; department for buildings only), conditions that all apply (AND) and optional any_of groups (at least one condition of each group applies). Each condition names a field from GET /v1/search/fields and gives values, or min/max, according to the field\u0026#x27;s operator. Example: {\u0026quot;target\u0026quot;: \u0026quot;buildings\u0026quot;, \u0026quot;zone\u0026quot;: {\u0026quot;type\u0026quot;: \u0026quot;city\u0026quot;, \u0026quot;code\u0026quot;: \u0026quot;69266\u0026quot;}, \u0026quot;conditions\u0026quot;: [{\u0026quot;field\u0026quot;: \u0026quot;batiment.annee_construction\u0026quot;, \u0026quot;max\u0026quot;: 1974}, {\u0026quot;field\u0026quot;: \u0026quot;dpe.classe\u0026quot;, \u0026quot;values\u0026quot;: [\u0026quot;F\u0026quot;, \u0026quot;G\u0026quot;]}]} Weight: 5 (counts 5× against the rate limit and the daily quota).\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Gabin docs\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.gabin.ai/api-reference/search/run-a-multi-criteria-search\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://gabin-9a706bd0.mintlify.site/_mintlify/api/og/v2?division=Search\u0026amp;title=Run+a+multi-criteria+search\u0026amp;description=Lists+the+buildings+or+companies+%28registered+offices%29+matching+a+search%2C+in+a+stable+order%2C+paginated+by+cursor+%28pass+%60meta.page.next_cursor%60+as+%60cursor%60+with+t\u0026amp;theme=418991de60a3e90cb90adc1b\u0026amp;signature=3d1b651ac4c3d02a077bfcbe01d4a18dc2b638d022cbadaaf3e27a8da1a50850\">\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=\"Run a multi-criteria search - Gabin\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Lists the buildings or companies (registered offices) matching a search, in a stable order, paginated by cursor (pass meta.page.next_cursor as cursor with the same filters). meta.total is a lower bound while pages remain: POST /v1/search/count gives the total. A search has a target (buildings or companies), a zone (city, district, postal code; department for buildings only), conditions that all apply (AND) and optional any_of groups (at least one condition of each group applies). Each condition names a field from GET /v1/search/fields and gives values, or min/max, according to the field\u0026#x27;s operator. Example: {\u0026quot;target\u0026quot;: \u0026quot;buildings\u0026quot;, \u0026quot;zone\u0026quot;: {\u0026quot;type\u0026quot;: \u0026quot;city\u0026quot;, \u0026quot;code\u0026quot;: \u0026quot;69266\u0026quot;}, \u0026quot;conditions\u0026quot;: [{\u0026quot;field\u0026quot;: \u0026quot;batiment.annee_construction\u0026quot;, \u0026quot;max\u0026quot;: 1974}, {\u0026quot;field\u0026quot;: \u0026quot;dpe.classe\u0026quot;, \u0026quot;values\u0026quot;: [\u0026quot;F\u0026quot;, \u0026quot;G\u0026quot;]}]} Weight: 5 (counts 5× against the rate limit and the daily quota).\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://gabin-9a706bd0.mintlify.site/_mintlify/api/og/v2?division=Search\u0026amp;title=Run+a+multi-criteria+search\u0026amp;description=Lists+the+buildings+or+companies+%28registered+offices%29+matching+a+search%2C+in+a+stable+order%2C+paginated+by+cursor+%28pass+%60meta.page.next_cursor%60+as+%60cursor%60+with+t\u0026amp;theme=418991de60a3e90cb90adc1b\u0026amp;signature=3d1b651ac4c3d02a077bfcbe01d4a18dc2b638d022cbadaaf3e27a8da1a50850\">\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/gabin-9a706bd0/nGt2TIeNLMbDFHxw/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Gabin\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#b8532f\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.gabin.ai/api-reference/search/run-a-multi-criteria-search\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/api-reference/search/run-a-multi-criteria-search.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.gabin.ai/#organization\",\"name\":\"Gabin\",\"url\":\"https://docs.gabin.ai\"},{\"@type\":\"WebSite\",\"@id\":\"https://docs.gabin.ai#website\",\"name\":\"Gabin\",\"url\":\"https://docs.gabin.ai\",\"publisher\":{\"@id\":\"https://docs.gabin.ai/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.gabin.ai/api-reference/search/run-a-multi-criteria-search#webpage\",\"url\":\"https://docs.gabin.ai/api-reference/search/run-a-multi-criteria-search\",\"name\":\"Run a multi-criteria search\",\"description\":\"Lists the buildings or companies (registered offices) matching a search, in a stable order, paginated by cursor (pass meta.page.next_cursor as cursor with the same filters). meta.total is a lower bound while pages remain: POST /v1/search/count gives the total. A search has a target (buildings or companies), a zone (city, district, postal code; department for buildings only), conditions that all apply (AND) and optional any_of groups (at least one condition of each group applies). Each condition names a field from GET /v1/search/fields and gives values, or min/max, according to the field's operator. Example: {\\\"target\\\": \\\"buildings\\\", \\\"zone\\\": {\\\"type\\\": \\\"city\\\", \\\"code\\\": \\\"69266\\\"}, \\\"conditions\\\": [{\\\"field\\\": \\\"batiment.annee_construction\\\", \\\"max\\\": 1974}, {\\\"field\\\": \\\"dpe.classe\\\", \\\"values\\\": [\\\"F\\\", \\\"G\\\"]}]} Weight: 5 (counts 5× against the rate limit and the daily quota).\",\"dateModified\":\"2026-11-10T15:44:12.824Z\",\"isPartOf\":{\"@id\":\"https://docs.gabin.ai#website\"},\"breadcrumb\":{\"@id\":\"https://docs.gabin.ai/api-reference/search/run-a-multi-criteria-search#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.gabin.ai/api-reference/search/run-a-multi-criteria-search#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Search\",\"item\":\"https://docs.gabin.ai/api-reference/search/list-the-fields-of-the-multi-criteria-search\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Run a multi-criteria search\",\"item\":\"https://docs.gabin.ai/api-reference/search/run-a-multi-criteria-search\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://docs.gabin.ai/api-reference/search/run-a-multi-criteria-search#apireference\",\"headline\":\"Run a multi-criteria search\",\"name\":\"Run a multi-criteria search\",\"description\":\"Lists the buildings or companies (registered offices) matching a search, in a stable order, paginated by cursor (pass meta.page.next_cursor as cursor with the same filters). meta.total is a lower bound while pages remain: POST /v1/search/count gives the total. A search has a target (buildings or companies), a zone (city, district, postal code; department for buildings only), conditions that all apply (AND) and optional any_of groups (at least one condition of each group applies). Each condition names a field from GET /v1/search/fields and gives values, or min/max, according to the field's operator. Example: {\\\"target\\\": \\\"buildings\\\", \\\"zone\\\": {\\\"type\\\": \\\"city\\\", \\\"code\\\": \\\"69266\\\"}, \\\"conditions\\\": [{\\\"field\\\": \\\"batiment.annee_construction\\\", \\\"max\\\": 1974}, {\\\"field\\\": \\\"dpe.classe\\\", \\\"values\\\": [\\\"F\\\", \\\"G\\\"]}]} Weight: 5 (counts 5× against the rate limit and the daily quota).\",\"url\":\"https://docs.gabin.ai/api-reference/search/run-a-multi-criteria-search\",\"mainEntityOfPage\":{\"@id\":\"https://docs.gabin.ai/api-reference/search/run-a-multi-criteria-search#webpage\"},\"dateModified\":\"2026-11-10T15:44:12.824Z\",\"publisher\":{\"@id\":\"https://docs.gabin.ai/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.gabin.ai#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Gabin\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Gabin","nav":{"global":null,"tabs":[{"tab":"Documentation","pages":[{"title":"Documentation","href":""}]},{"tab":"API reference","groups":[{"group":"Companies","pages":[{"title":"Search companies","deprecated":null,"version":null,"openapi":"https://api.gabin.ai/v1/openapi.json get /v1/companies","href":"/api-reference/companies/search-companies"},{"title":"Get a company","deprecated":null,"version":null,"openapi":"https://api.gabin.ai/v1/openapi.json get /v1/companies/{siren}","href":"/api-reference/companies/get-a-company"},{"title":"List the establishments of a company","deprecated":null,"version":null,"openapi":"https://api.gabin.ai/v1/openapi.json get /v1/companies/{siren}/establishments","href":"/api-reference/companies/list-the-establishments-of-a-company"},{"title":"List the officers of a company","deprecated":null,"version":null,"openapi":"https://api.gabin.ai/v1/openapi.json get /v1/companies/{siren}/officers","href":"/api-reference/companies/list-the-officers-of-a-company"},{"title":"Get the annual accounts of a company","deprecated":null,"version":null,"openapi":"https://api.gabin.ai/v1/openapi.json get /v1/companies/{siren}/financials","href":"/api-reference/companies/get-the-annual-accounts-of-a-company"},{"title":"List the buildings of a company","deprecated":null,"version":null,"openapi":"https://api.gabin.ai/v1/openapi.json get /v1/companies/{siren}/buildings","href":"/api-reference/companies/list-the-buildings-of-a-company"}]},{"group":"Establishments","pages":[{"title":"Get an establishment","deprecated":null,"version":null,"openapi":"https://api.gabin.ai/v1/openapi.json get /v1/establishments/{siret}","href":"/api-reference/establishments/get-an-establishment"}]},{"group":"Officers","pages":[{"title":"Search officers by name","deprecated":null,"version":null,"openapi":"https://api.gabin.ai/v1/openapi.json get /v1/officers","href":"/api-reference/officers/search-officers-by-name"},{"title":"Get an officer","deprecated":null,"version":null,"openapi":"https://api.gabin.ai/v1/openapi.json get /v1/officers/{id}","href":"/api-reference/officers/get-an-officer"}]},{"group":"Reference data","pages":[{"title":"List NAF activities","deprecated":null,"version":null,"openapi":"https://api.gabin.ai/v1/openapi.json get /v1/naf","href":"/api-reference/reference-data/list-naf-activities"},{"title":"Get a NAF activity","deprecated":null,"version":null,"openapi":"https://api.gabin.ai/v1/openapi.json get /v1/naf/{code}","href":"/api-reference/reference-data/get-a-naf-activity"},{"title":"List legal form families","deprecated":null,"version":null,"openapi":"https://api.gabin.ai/v1/openapi.json get /v1/legal-forms","href":"/api-reference/reference-data/list-legal-form-families"},{"title":"List headcount ranges","deprecated":null,"version":null,"openapi":"https://api.gabin.ai/v1/openapi.json get /v1/headcount-ranges","href":"/api-reference/reference-data/list-headcount-ranges"}]},{"group":"Account","pages":[{"title":"Get the current account","deprecated":null,"version":null,"openapi":"https://api.gabin.ai/v1/openapi.json get /v1/me","href":"/api-reference/account/get-the-current-account"}]},{"group":"Meta","pages":[{"title":"Service status","deprecated":null,"version":null,"openapi":"https://api.gabin.ai/v1/openapi.json get /v1/health","href":"/api-reference/meta/service-status"},{"title":"OpenAPI document","deprecated":null,"version":null,"openapi":"https://api.gabin.ai/v1/openapi.json get /v1/openapi.json","href":"/api-reference/meta/openapi-document"}]},{"group":"Buildings","pages":[{"title":"Search buildings in an area","deprecated":null,"version":null,"openapi":"https://api.gabin.ai/v1/openapi.json get /v1/buildings","href":"/api-reference/buildings/search-buildings-in-an-area"},{"title":"Get a building","deprecated":null,"version":null,"openapi":"https://api.gabin.ai/v1/openapi.json get /v1/buildings/{id}","href":"/api-reference/buildings/get-a-building"},{"title":"List the companies linked to a building","deprecated":null,"version":null,"openapi":"https://api.gabin.ai/v1/openapi.json get /v1/buildings/{id}/companies","href":"/api-reference/buildings/list-the-companies-linked-to-a-building"},{"title":"Get the energy certificates of a building","deprecated":null,"version":null,"openapi":"https://api.gabin.ai/v1/openapi.json get /v1/buildings/{id}/energy","href":"/api-reference/buildings/get-the-energy-certificates-of-a-building"},{"title":"Get the property transactions of a building","deprecated":null,"version":null,"openapi":"https://api.gabin.ai/v1/openapi.json get /v1/buildings/{id}/transactions","href":"/api-reference/buildings/get-the-property-transactions-of-a-building"},{"title":"Get the corporate owners of a building","deprecated":null,"version":null,"openapi":"https://api.gabin.ai/v1/openapi.json get /v1/buildings/{id}/owners","href":"/api-reference/buildings/get-the-corporate-owners-of-a-building"},{"title":"Get the condominium of a building","deprecated":null,"version":null,"openapi":"https://api.gabin.ai/v1/openapi.json get /v1/buildings/{id}/condominium","href":"/api-reference/buildings/get-the-condominium-of-a-building"},{"title":"Get the cadastral parcels of a building","deprecated":null,"version":null,"openapi":"https://api.gabin.ai/v1/openapi.json get /v1/buildings/{id}/parcels","href":"/api-reference/buildings/get-the-cadastral-parcels-of-a-building"},{"title":"Get the parking of a building","deprecated":null,"version":null,"openapi":"https://api.gabin.ai/v1/openapi.json get /v1/buildings/{id}/parking","href":"/api-reference/buildings/get-the-parking-of-a-building"},{"title":"Get the building permits of a building","deprecated":null,"version":null,"openapi":"https://api.gabin.ai/v1/openapi.json get /v1/buildings/{id}/permits","href":"/api-reference/buildings/get-the-building-permits-of-a-building"},{"title":"Get the fiber deployment of a building","deprecated":null,"version":null,"openapi":"https://api.gabin.ai/v1/openapi.json get /v1/buildings/{id}/fiber","href":"/api-reference/buildings/get-the-fiber-deployment-of-a-building"},{"title":"Get the urban planning rules of a building","deprecated":null,"version":null,"openapi":"https://api.gabin.ai/v1/openapi.json get /v1/buildings/{id}/planning","href":"/api-reference/buildings/get-the-urban-planning-rules-of-a-building"},{"title":"Get the market summary around a building","deprecated":null,"version":null,"openapi":"https://api.gabin.ai/v1/openapi.json get /v1/buildings/{id}/market","href":"/api-reference/buildings/get-the-market-summary-around-a-building"}]},{"group":"Parcels","pages":[{"title":"Get a cadastral parcel","deprecated":null,"version":null,"openapi":"https://api.gabin.ai/v1/openapi.json get /v1/parcels/{id}","href":"/api-reference/parcels/get-a-cadastral-parcel"}]},{"group":"Addresses","pages":[{"title":"Geocode an address","deprecated":null,"version":null,"openapi":"https://api.gabin.ai/v1/openapi.json get /v1/geocode","href":"/api-reference/addresses/geocode-an-address"},{"title":"Search named places","deprecated":null,"version":null,"openapi":"https://api.gabin.ai/v1/openapi.json get /v1/places","href":"/api-reference/addresses/search-named-places"}]},{"group":"Zones","pages":[{"title":"Search cities","deprecated":null,"version":null,"openapi":"https://api.gabin.ai/v1/openapi.json get /v1/zones/cities","href":"/api-reference/zones/search-cities"},{"title":"Get a city","deprecated":null,"version":null,"openapi":"https://api.gabin.ai/v1/openapi.json get /v1/zones/cities/{insee}","href":"/api-reference/zones/get-a-city"},{"title":"List the districts of a city","deprecated":null,"version":null,"openapi":"https://api.gabin.ai/v1/openapi.json get /v1/zones/cities/{insee}/districts","href":"/api-reference/zones/list-the-districts-of-a-city"},{"title":"Get a district","deprecated":null,"version":null,"openapi":"https://api.gabin.ai/v1/openapi.json get /v1/zones/districts/{iris}","href":"/api-reference/zones/get-a-district"},{"title":"List the cities of a department","deprecated":null,"version":null,"openapi":"https://api.gabin.ai/v1/openapi.json get /v1/zones/departments/{code}/cities","href":"/api-reference/zones/list-the-cities-of-a-department"},{"title":"Get the market figures of a zone","deprecated":null,"version":null,"openapi":"https://api.gabin.ai/v1/openapi.json get /v1/zones/{level}/{code}/market","href":"/api-reference/zones/get-the-market-figures-of-a-zone"},{"title":"Get the boundary of a zone","deprecated":null,"version":null,"openapi":"https://api.gabin.ai/v1/openapi.json get /v1/zones/{level}/{code}/boundary","href":"/api-reference/zones/get-the-boundary-of-a-zone"}]},{"group":"Search","pages":[{"title":"List the fields of the multi-criteria search","deprecated":null,"version":null,"openapi":"https://api.gabin.ai/v1/openapi.json get /v1/search/fields","href":"/api-reference/search/list-the-fields-of-the-multi-criteria-search"},{"title":"Count the results of a multi-criteria search","description":"Counts the buildings or companies matching a search (up to 100,000) and breaks them down (use, energy class, city…). Use it to refine a search before listing it with POST /v1/search.\n\nA search has a `target` (`buildings` or `companies`), a `zone` (city, district, postal code; department for buildings only), `conditions` that all apply (AND) and optional `any_of` groups (at least one condition of each group applies). Each condition names a field from GET /v1/search/fields and gives `values`, or `min`/`max`, according to the field's `operator`.\n\nExample: {\"target\": \"buildings\", \"zone\": {\"type\": \"city\", \"code\": \"69266\"}, \"conditions\": [{\"field\": \"batiment.annee_construction\", \"max\": 1974}, {\"field\": \"dpe.classe\", \"values\": [\"F\", \"G\"]}]}\n\nWeight: 5 (counts 5× against the rate limit and the daily quota).","deprecated":null,"version":null,"openapi":"https://api.gabin.ai/v1/openapi.json post /v1/search/count","href":"/api-reference/search/count-the-results-of-a-multi-criteria-search"},{"title":"Run a multi-criteria search","deprecated":null,"version":null,"openapi":"https://api.gabin.ai/v1/openapi.json post /v1/search","href":"/api-reference/search/run-a-multi-criteria-search"}]},{"group":"Tiles","pages":[{"title":"Get a vector tile","description":"A Mapbox Vector Tile (MVT, XYZ scheme) of a gabin.ai map layer, for MapLibre GL or Mapbox GL (send the key with `transformRequest`). 204 when the tile is empty. Feature properties are those of the gabin.ai map (ids such as `batiment_groupe_id`, `parcelle_id` open the matching endpoints).\n\nWeight: 0.1 for a tile served from the server cache (10 min), 0.5 for a tile read from the database.\n\nLayers, zoom ranges and query options (layer filters, passed as-is; unknown keys are ignored):\n- `buildings`: zoom 15–16; options `acceslibre`, `friche`, `parking` (true/false: extra properties)\n- `parcels`: zoom 15–16\n- `districts`: zoom 10–13\n- `owners`: zoom 15–16; options `iris`, `commune` (INSEE) or `cp` (postal code)\n- `occupants`: zoom 15–16; options `iris`, `commune` or `cp`\n- `condominiums`: zoom 15–16; options `iris`, `commune` or `cp`\n- `fiber`: zoom 15–16\n- `transactions`: zoom 15–16; options `iris`/`commune`/`cp`, `prix_min`, `prix_max`, `date_min`, `date_max` (YYYY-MM-DD), `type_local`, `vente_multilot`, `surface_min`, `surface_max`, `pieces_min`, `pieces_max`\n- `energy`: zoom 15–16; options `iris`/`commune`/`cp`, `etiquettes` (A,B…), `date_min`, `date_max`, `jeux`, `type_batiment`, `surface_min`, `surface_max`, `generateur`, `isolation`\n- `market`: zoom 0–22; options `metric` (price, rent, demography or income metric id)\n- `planning`: zoom 13–22; options `view` (`zones` or `friches`)\n- `permits`: zoom 15–16; options `type`, `statut`, `annee_min`, `annee_max`\n- `heritage`: zoom 13–22; options `kinds` (monument, abords, spr, site), `perimetres` (true/false), `iris`/`commune`/`cp`\n- `ev_charging`: zoom 12–15\n- `parking`: zoom 13–15","deprecated":null,"version":null,"openapi":"https://api.gabin.ai/v1/openapi.json get /v1/tiles/{layer}/{z}/{x}/{y}.pbf","href":"/api-reference/tiles/get-a-vector-tile"}]}]}]},"basePath":"","title":"Run a multi-criteria search - Gabin","buildId":"dpl_42LwxxU1kGN114H4XzwGYXa9ZDah","deploymentId":"dpl_42LwxxU1kGN114H4XzwGYXa9ZDah","dynamics":["c2aa737661","2b790eda92","b0f84f53ff","a9bb46feb3"],"chunks":["OpenApiReferenceProvider-C-hEh3I2.js","utils-CnF4QiUD.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-C7PVNbel.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-8ytevL2A.js","snippetPresets-BT1alx3v.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","conditional-requirements-CFM0id0Q.js","ApiExamples-BLXC0i_W.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-CyLIGI9_.js","shallow-DC0lGVIW.js","getApiPlaygroundDisplay-CgDQ85tN.js","CodeSnippet-6-I-Gpv9.js","CodeSnippets-BAk1kDdu.js","Page-C945cI-W.js","getPastedJson-B276RuWN.js","icon-BqP8etTm.js","MethodPill-DM6sbxG1.js","DuplicateIcon-PyJglOaE.js","createIcon-CMeOMAc_.js","DynamicMarkdown-BoyYAA8K.js","SectionHeading-DAYv3gvZ.js","axios-vUo_bRtp.js","Markdown-BhTTmazV.js","clsx-CR-RHrVC.js","lib-DuNMoZ05.js","lib-B8HbPgcC.js","html-void-elements-mCSPHezU.js","dist-CBUH0-zX.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","AssistantPageLink-BmARFYNC.js"]}