Find related OMOP concepts for up to 25 English-language queries in one request.
Each query is processed independently and can override the shared defaults.
Results are suggestions for review, not automatic clinical coding decisions.
Unique identifier for this search within the batch. NUL characters (U+0000)
are stripped before processing; results echo the normalized identifier.
The identifier must remain nonempty after normalization.
English natural-language search query. After trimming, queries must
contain 3-500 characters. MI is also accepted as a case-insensitive
abbreviation. Other 1-2 character queries fail only their own bulk item.
Filter results to specific vocabularies (e.g., ["SNOMED", "ICD10CM"]).
In a mixed list, inaccessible vocabularies are omitted; an
all-inaccessible list fails that search item. Overrides
defaults.vocabulary_ids.
Relative match score from 0.0 to 1.0. Relevance remains primary,
but within an anchored score band of at most 0.0025 the API may
prefer more clinically useful concepts and demote non-clinical
concept classes. Scores are therefore not guaranteed to be
strictly descending. The score is not a probability or clinical
confidence value.
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/schema.json","name":"OMOPHub.com API","colors":{"primary":"#000000","light":"#ebeced","dark":"#000000"},"logo":{"light":"https://mintcdn.com/medilensio/d8KZ5UNRHYv--jGr/logo/logo-light.svg?fit=max\u0026auto=format\u0026n=d8KZ5UNRHYv--jGr\u0026q=85\u0026s=cf586cc87e1e46b0e11ae3b80c0467da","dark":"https://mintcdn.com/medilensio/d8KZ5UNRHYv--jGr/logo/logo-dark.svg?fit=max\u0026auto=format\u0026n=d8KZ5UNRHYv--jGr\u0026q=85\u0026s=75298961a99d0709eb810214da094a40","href":"https://docs.omophub.com"},"favicon":"https://mintcdn.com/medilensio/43z4gIZ35uGFl_xd/favicon.png?fit=max\u0026auto=format\u0026n=43z4gIZ35uGFl_xd\u0026q=85\u0026s=5ec51092b7b0170ac44b10606d77940f","api":{"playground":{"display":"none"},"examples":{"languages":["javascript","curl","python"]}},"navbar":{"links":[{"href":"https://dashboard.omophub.com/login","label":"Sign In"}],"primary":{"type":"button","label":"Get Started","href":"https://dashboard.omophub.com"}},"footer":{"socials":{"github":"https://github.com/omophub"}},"seo":{},"styling":{"eyebrows":"breadcrumbs","latex":true},"integrations":{"ga4":{"measurementId":"G-NLV13YZ0HW"}},"contextual":{"options":["copy","view","chatgpt","claude","perplexity","mcp","cursor","vscode"],"display":"header"},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"medilensio","hasAudioNarration":false,"actualSubdomain":"medilensio","customDomains":["docs.omophub.com"],"gitSource":{"type":"github","owner":"omophub","repo":"platform","deployBranch":"develop","contentDirectory":"docs/mintlify","isPrivate":true,"mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6ae338fe4c2492fe62cb6eb8","collectionId":"c2ff3e22-fd3f-43de-9fcc-44d5a9b31a4b","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6ae338fe4c2492fe62cb6eb8"},"feedback":{"thumbs":true},"entitlements":{},"buildId":"6ae338fe4c2492fe62cb6eb8","clientVersion":"0.0.4067","searchFilterCounts":[{"language":"default","tag":"API Reference","count":58},{"language":"default","tag":"Documentation","count":27},{"language":"default","tag":"SDKs","count":24},{"language":"default","tag":"FHIR Terminology","count":17},{"language":"default","tag":"FHIR Terminology Service","count":17},{"language":"default","tag":"Concepts","count":12},{"language":"default","tag":"Workflows","count":12},{"language":"default","tag":"Search","count":11},{"language":"default","tag":"Vocabularies","count":10},{"language":"default","tag":"Production","count":8}]},"assistantConfig":{},"basePath":"","hasChatPermissions":false,"hasWebMcpPermissions":false,"toggles":[{"name":"kill-isr","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":"vite-origin","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":"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}],"googleFontsInlined":false},"customCss":[],"page":{"pagePath":"api-reference/search/semantic-bulk-search","slug":"/api-reference/search/semantic-bulk-search","pageMetadata":{"title":"Bulk Semantic Search","api":"POST https://api.omophub.com/v1/search/semantic-bulk","description":"Find related OMOP concepts for multiple English-language queries in one request.","href":"/api-reference/search/semantic-bulk-search"},"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: \"Find related OMOP concepts for multiple English-language queries in one request.\"\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`,li:`li`,p:`p`,ul:`ul`,..._provideComponents(),...props.components},{Expandable,Heading,ParamField,ResponseField,Warning}=_components;if(!Expandable)_missingMdxReference(`Expandable`,true);if(!Heading)_missingMdxReference(`Heading`,true);if(!ParamField)_missingMdxReference(`ParamField`,true);if(!ResponseField)_missingMdxReference(`ResponseField`,true);if(!Warning)_missingMdxReference(`Warning`,true);return _jsxs(_Fragment,{children:[_jsx(Heading,{level:`2`,id:`overview`,children:`Overview`}),`\n`,_jsx(_components.p,{children:`Find related OMOP concepts for up to 25 English-language queries in one request.\nEach query is processed independently and can override the shared defaults.\nResults are suggestions for review, not automatic clinical coding decisions.`}),`\n`,_jsx(Heading,{level:`2`,id:`request-body`,children:`Request Body`}),`\n`,_jsxs(ParamField,{body:`searches`,type:`array`,required:true,min:`1`,max:`25`,id:`param-searches`,children:[_jsx(_components.p,{children:`Array of semantic search query objects (1-25 items)`}),_jsxs(Expandable,{title:`Search Object`,children:[_jsx(ParamField,{body:`search_id`,type:`string`,required:true,id:`param-search-id`,children:_jsx(_components.p,{children:`Unique identifier for this search within the batch. NUL characters (U+0000)\nare stripped before processing; results echo the normalized identifier.\nThe identifier must remain nonempty after normalization.`})}),_jsx(ParamField,{body:`query`,type:`string`,required:true,maxLength:`500`,id:`param-query`,children:_jsxs(_components.p,{children:[`English natural-language search query. After trimming, queries must\ncontain 3-500 characters. `,_jsx(_components.code,{children:`MI`}),` is also accepted as a case-insensitive\nabbreviation. Other 1-2 character queries fail only their own bulk item.`]})}),_jsx(ParamField,{body:`page_size`,type:`integer`,default:`10`,min:`1`,max:`50`,id:`param-page-size`,children:_jsxs(_components.p,{children:[`Number of results per search (1-50). Overrides `,_jsx(_components.code,{children:`defaults.page_size`}),` for\nthis search.`]})}),_jsx(ParamField,{body:`threshold`,type:`number`,default:`0.5`,min:`0`,max:`1`,id:`param-threshold`,children:_jsxs(_components.p,{children:[`Minimum similarity score (0.0-1.0). Higher values return fewer, closer\nmatches. Overrides `,_jsx(_components.code,{children:`defaults.threshold`}),` for this search.`]})}),_jsx(ParamField,{body:`vocabulary_ids`,type:`string[]`,id:`param-vocabulary-ids`,children:_jsxs(_components.p,{children:[`Filter results to specific vocabularies (e.g., `,_jsx(_components.code,{children:`[\"SNOMED\", \"ICD10CM\"]`}),`).\nIn a mixed list, inaccessible vocabularies are omitted; an\nall-inaccessible list fails that search item. Overrides\n`,_jsx(_components.code,{children:`defaults.vocabulary_ids`}),`.`]})}),_jsx(ParamField,{body:`domain_ids`,type:`string[]`,id:`param-domain-ids`,children:_jsxs(_components.p,{children:[`Filter results to specific domains (e.g., `,_jsx(_components.code,{children:`[\"Condition\", \"Drug\"]`}),`).\nOverrides `,_jsx(_components.code,{children:`defaults.domain_ids`}),` for this search.`]})}),_jsx(ParamField,{body:`standard_concept`,type:`string`,id:`param-standard-concept`,children:_jsxs(_components.p,{children:[`Filter by standard concept status: `,_jsx(_components.code,{children:`\"S\"`}),` (Standard) or `,_jsx(_components.code,{children:`\"C\"`}),`\n(Classification). Overrides `,_jsx(_components.code,{children:`defaults.standard_concept`}),` for this search.`]})}),_jsx(ParamField,{body:`concept_class_id`,type:`string`,id:`param-concept-class-id`,children:_jsxs(_components.p,{children:[`Filter by concept class (e.g., `,_jsx(_components.code,{children:`\"Clinical Finding\"`}),`). Overrides\n`,_jsx(_components.code,{children:`defaults.concept_class_id`}),` for this search.`]})})]})]}),`\n`,_jsxs(ParamField,{body:`defaults`,type:`object`,id:`param-defaults`,children:[_jsx(_components.p,{children:`Default parameters applied to all searches. Individual searches can override\nany default.`}),_jsxs(Expandable,{title:`Defaults Object`,children:[_jsx(ParamField,{body:`page_size`,type:`integer`,default:`10`,min:`1`,max:`50`,id:`param-page-size-1`,children:_jsx(_components.p,{children:`Default results per search (1-50)`})}),_jsx(ParamField,{body:`threshold`,type:`number`,default:`0.5`,min:`0`,max:`1`,id:`param-threshold-1`,children:_jsx(_components.p,{children:`Default minimum similarity score (0.0-1.0). This is not a probability or\nclinical confidence threshold.`})}),_jsx(ParamField,{body:`vocabulary_ids`,type:`string[]`,id:`param-vocabulary-ids-1`,children:_jsxs(_components.p,{children:[`Default vocabulary filter for all searches (e.g., `,_jsx(_components.code,{children:`[\"SNOMED\"]`}),`)`]})}),_jsx(ParamField,{body:`domain_ids`,type:`string[]`,id:`param-domain-ids-1`,children:_jsxs(_components.p,{children:[`Default domain filter for all searches (e.g., `,_jsx(_components.code,{children:`[\"Condition\"]`}),`)`]})}),_jsx(ParamField,{body:`standard_concept`,type:`string`,id:`param-standard-concept-1`,children:_jsxs(_components.p,{children:[`Default standard concept filter: `,_jsx(_components.code,{children:`\"S\"`}),` or `,_jsx(_components.code,{children:`\"C\"`})]})}),_jsx(ParamField,{body:`concept_class_id`,type:`string`,id:`param-concept-class-id-1`,children:_jsx(_components.p,{children:`Default concept class filter`})})]})]}),`\n`,_jsx(Heading,{level:`2`,id:`query-parameters`,children:`Query Parameters`}),`\n`,_jsx(ParamField,{query:`vocab_release`,type:`string`,id:`param-vocab-release`,children:_jsx(_components.p,{children:`Specific vocabulary release version (defaults to latest)`})}),`\n`,_jsx(Heading,{level:`2`,id:`response`,children:`Response`}),`\n`,_jsx(ResponseField,{name:`success`,type:`boolean`,id:`param-success`,children:_jsx(_components.p,{children:`Indicates if the request was successful`})}),`\n`,_jsxs(ResponseField,{name:`data`,type:`object`,id:`param-data`,children:[_jsx(_components.p,{children:`Response data object containing results and summary counts`}),_jsxs(Expandable,{title:`Data Object`,children:[_jsxs(ResponseField,{name:`results`,type:`array`,id:`param-results`,children:[_jsx(_components.p,{children:`Array of search results, one per query`}),_jsxs(Expandable,{title:`Search Result`,children:[_jsx(ResponseField,{name:`search_id`,type:`string`,id:`param-search-id-1`,children:_jsx(_components.p,{children:`Identifier matching the request’s search_id`})}),_jsx(ResponseField,{name:`query`,type:`string`,id:`param-query-1`,children:_jsx(_components.p,{children:`Original search query`})}),_jsx(ResponseField,{name:`status`,type:`string`,id:`param-status`,children:_jsxs(_components.p,{children:[`Query execution status: `,_jsx(_components.code,{children:`completed`}),` or `,_jsx(_components.code,{children:`failed`})]})}),_jsxs(ResponseField,{name:`results`,type:`array`,id:`param-results-1`,children:[_jsx(_components.p,{children:`Matching concept suggestions, ordered by similarity.`}),_jsxs(Expandable,{title:`Concept Result`,children:[_jsx(ResponseField,{name:`concept_id`,type:`integer`,id:`param-concept-id`,children:_jsx(_components.p,{children:`Unique concept identifier`})}),_jsx(ResponseField,{name:`concept_name`,type:`string`,id:`param-concept-name`,children:_jsx(_components.p,{children:`Primary concept name`})}),_jsx(ResponseField,{name:`concept_code`,type:`string`,id:`param-concept-code`,children:_jsx(_components.p,{children:`Concept code from source vocabulary`})}),_jsx(ResponseField,{name:`vocabulary_id`,type:`string`,id:`param-vocabulary-id`,children:_jsx(_components.p,{children:`Source vocabulary`})}),_jsx(ResponseField,{name:`domain_id`,type:`string`,id:`param-domain-id`,children:_jsx(_components.p,{children:`Domain classification`})}),_jsx(ResponseField,{name:`concept_class_id`,type:`string`,id:`param-concept-class-id-2`,children:_jsx(_components.p,{children:`Concept class`})}),_jsx(ResponseField,{name:`standard_concept`,type:`string | null`,id:`param-standard-concept-2`,children:_jsxs(_components.p,{children:[`Standard concept indicator: `,_jsx(_components.code,{children:`S`}),`, `,_jsx(_components.code,{children:`C`}),`, or `,_jsx(_components.code,{children:`null`})]})}),_jsx(ResponseField,{name:`similarity_score`,type:`number`,id:`param-similarity-score`,children:_jsxs(_components.p,{children:[`Relative match score from 0.0 to 1.0. Relevance remains primary,\nbut within an anchored score band of at most `,_jsx(_components.code,{children:`0.0025`}),` the API may\nprefer more clinically useful concepts and demote non-clinical\nconcept classes. Scores are therefore not guaranteed to be\nstrictly descending. The score is not a probability or clinical\nconfidence value.`]})}),_jsx(ResponseField,{name:`matched_text`,type:`string`,id:`param-matched-text`,children:_jsx(_components.p,{children:`Text associated with the match.`})})]})]}),_jsx(ResponseField,{name:`error`,type:`string`,id:`param-error`,children:_jsx(_components.p,{children:`Error message (only present if query failed)`})}),_jsx(ResponseField,{name:`similarity_threshold`,type:`number`,id:`param-similarity-threshold`,children:_jsx(_components.p,{children:`The similarity threshold used for this query`})}),_jsx(ResponseField,{name:`result_count`,type:`integer`,id:`param-result-count`,children:_jsx(_components.p,{children:`Number of results returned for this query`})}),_jsx(ResponseField,{name:`retrieval_truncated`,type:`boolean`,id:`param-retrieval-truncated`,children:_jsxs(_components.p,{children:[_jsx(_components.code,{children:`true`}),` when additional matching concepts may exist beyond those\nreturned.`]})}),_jsx(ResponseField,{name:`totals_are_lower_bound`,type:`boolean`,id:`param-totals-are-lower-bound`,children:_jsxs(_components.p,{children:[_jsx(_components.code,{children:`true`}),` when reported totals are minimum known values rather than exact\ncounts. `,_jsx(_components.code,{children:`result_count`}),` remains the exact number returned for this\nitem.`]})}),_jsx(ResponseField,{name:`duration`,type:`number`,id:`param-duration`,children:_jsx(_components.p,{children:`Processing time for this query in milliseconds`})})]})]}),_jsx(ResponseField,{name:`total_searches`,type:`integer`,id:`param-total-searches`,children:_jsx(_components.p,{children:`Total number of searches in the request`})}),_jsx(ResponseField,{name:`completed_count`,type:`integer`,id:`param-completed-count`,children:_jsx(_components.p,{children:`Number of successfully completed searches`})}),_jsx(ResponseField,{name:`failed_count`,type:`integer`,id:`param-failed-count`,children:_jsx(_components.p,{children:`Number of failed searches`})}),_jsx(ResponseField,{name:`total_duration`,type:`number`,id:`param-total-duration`,children:_jsx(_components.p,{children:`Total processing time in milliseconds`})})]})]}),`\n`,_jsx(ResponseField,{name:`meta`,type:`object`,id:`param-meta`,children:_jsxs(Expandable,{title:`Metadata`,children:[_jsx(ResponseField,{name:`request_id`,type:`string`,id:`param-request-id`,children:_jsx(_components.p,{children:`Unique identifier for the request`})}),_jsx(ResponseField,{name:`vocab_release`,type:`string`,id:`param-vocab-release-1`,children:_jsx(_components.p,{children:`Vocabulary release version used`})}),_jsx(ResponseField,{name:`timestamp`,type:`string`,id:`param-timestamp`,children:_jsx(_components.p,{children:`Request timestamp`})})]})}),`\n`,_jsx(Warning,{children:_jsx(_components.p,{children:`Review each result before using it in a clinical workflow. Similarity scores\nrank matches; they are not probabilities or clinical confidence values.`})}),`\n`,`\n`,`\n`,_jsx(Heading,{level:`2`,id:`error-handling`,children:`Error Handling`}),`\n`,_jsxs(_components.p,{children:[`Each query is processed independently. A failed item has `,_jsx(_components.code,{children:`status: \"failed\"`}),`\nand an `,_jsx(_components.code,{children:`error`}),` message; other valid items continue normally.`]}),`\n`,_jsx(Heading,{level:`2`,id:`related-endpoints`,children:`Related Endpoints`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.a,{href:`/api-reference/search/semantic-search`,children:`Semantic Search`}),` - Single query semantic search with pagination`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.a,{href:`/api-reference/search/bulk-search`,children:`Bulk Search`}),` - Keyword-based bulk search (up to 50 queries)`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.a,{href:`/api-reference/search/basic-search`,children:`Basic Search`}),` - Single query keyword search with pagination`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.a,{href:`/api-reference/search/search-similar`,children:`Similar Concepts`}),` - Find concepts similar to a given concept`]}),`\n`]})]})}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":"Bulk Semantic Search","api":"POST https://api.omophub.com/v1/search/semantic-bulk","description":"Find related OMOP concepts for multiple English-language queries in one request.","href":"/api-reference/search/semantic-bulk-search"}}},"mdxSourceWithNoJs":{"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`,li:`li`,p:`p`,pre:`pre`,span:`span`,ul:`ul`,..._provideComponents(),...props.components},{CodeBlock,Expandable,Heading,ParamField,RequestExample,ResponseExample,ResponseField,Warning}=_components;if(!CodeBlock)_missingMdxReference(`CodeBlock`,true);if(!Expandable)_missingMdxReference(`Expandable`,true);if(!Heading)_missingMdxReference(`Heading`,true);if(!ParamField)_missingMdxReference(`ParamField`,true);if(!RequestExample)_missingMdxReference(`RequestExample`,true);if(!ResponseExample)_missingMdxReference(`ResponseExample`,true);if(!ResponseField)_missingMdxReference(`ResponseField`,true);if(!Warning)_missingMdxReference(`Warning`,true);return _jsxs(_Fragment,{children:[_jsx(Heading,{level:`2`,id:`overview`,children:`Overview`}),`\n`,_jsx(_components.p,{children:`Find related OMOP concepts for up to 25 English-language queries in one request.\nEach query is processed independently and can override the shared defaults.\nResults are suggestions for review, not automatic clinical coding decisions.`}),`\n`,_jsx(Heading,{level:`2`,id:`request-body`,children:`Request Body`}),`\n`,_jsxs(ParamField,{body:`searches`,type:`array`,required:true,min:`1`,max:`25`,id:`param-searches`,children:[_jsx(_components.p,{children:`Array of semantic search query objects (1-25 items)`}),_jsxs(Expandable,{title:`Search Object`,children:[_jsx(ParamField,{body:`search_id`,type:`string`,required:true,id:`param-search-id`,children:_jsx(_components.p,{children:`Unique identifier for this search within the batch. NUL characters (U+0000)\nare stripped before processing; results echo the normalized identifier.\nThe identifier must remain nonempty after normalization.`})}),_jsx(ParamField,{body:`query`,type:`string`,required:true,maxLength:`500`,id:`param-query`,children:_jsxs(_components.p,{children:[`English natural-language search query. After trimming, queries must\ncontain 3-500 characters. `,_jsx(_components.code,{children:`MI`}),` is also accepted as a case-insensitive\nabbreviation. Other 1-2 character queries fail only their own bulk item.`]})}),_jsx(ParamField,{body:`page_size`,type:`integer`,default:`10`,min:`1`,max:`50`,id:`param-page-size`,children:_jsxs(_components.p,{children:[`Number of results per search (1-50). Overrides `,_jsx(_components.code,{children:`defaults.page_size`}),` for\nthis search.`]})}),_jsx(ParamField,{body:`threshold`,type:`number`,default:`0.5`,min:`0`,max:`1`,id:`param-threshold`,children:_jsxs(_components.p,{children:[`Minimum similarity score (0.0-1.0). Higher values return fewer, closer\nmatches. Overrides `,_jsx(_components.code,{children:`defaults.threshold`}),` for this search.`]})}),_jsx(ParamField,{body:`vocabulary_ids`,type:`string[]`,id:`param-vocabulary-ids`,children:_jsxs(_components.p,{children:[`Filter results to specific vocabularies (e.g., `,_jsx(_components.code,{children:`[\"SNOMED\", \"ICD10CM\"]`}),`).\nIn a mixed list, inaccessible vocabularies are omitted; an\nall-inaccessible list fails that search item. Overrides\n`,_jsx(_components.code,{children:`defaults.vocabulary_ids`}),`.`]})}),_jsx(ParamField,{body:`domain_ids`,type:`string[]`,id:`param-domain-ids`,children:_jsxs(_components.p,{children:[`Filter results to specific domains (e.g., `,_jsx(_components.code,{children:`[\"Condition\", \"Drug\"]`}),`).\nOverrides `,_jsx(_components.code,{children:`defaults.domain_ids`}),` for this search.`]})}),_jsx(ParamField,{body:`standard_concept`,type:`string`,id:`param-standard-concept`,children:_jsxs(_components.p,{children:[`Filter by standard concept status: `,_jsx(_components.code,{children:`\"S\"`}),` (Standard) or `,_jsx(_components.code,{children:`\"C\"`}),`\n(Classification). Overrides `,_jsx(_components.code,{children:`defaults.standard_concept`}),` for this search.`]})}),_jsx(ParamField,{body:`concept_class_id`,type:`string`,id:`param-concept-class-id`,children:_jsxs(_components.p,{children:[`Filter by concept class (e.g., `,_jsx(_components.code,{children:`\"Clinical Finding\"`}),`). Overrides\n`,_jsx(_components.code,{children:`defaults.concept_class_id`}),` for this search.`]})})]})]}),`\n`,_jsxs(ParamField,{body:`defaults`,type:`object`,id:`param-defaults`,children:[_jsx(_components.p,{children:`Default parameters applied to all searches. Individual searches can override\nany default.`}),_jsxs(Expandable,{title:`Defaults Object`,children:[_jsx(ParamField,{body:`page_size`,type:`integer`,default:`10`,min:`1`,max:`50`,id:`param-page-size-1`,children:_jsx(_components.p,{children:`Default results per search (1-50)`})}),_jsx(ParamField,{body:`threshold`,type:`number`,default:`0.5`,min:`0`,max:`1`,id:`param-threshold-1`,children:_jsx(_components.p,{children:`Default minimum similarity score (0.0-1.0). This is not a probability or\nclinical confidence threshold.`})}),_jsx(ParamField,{body:`vocabulary_ids`,type:`string[]`,id:`param-vocabulary-ids-1`,children:_jsxs(_components.p,{children:[`Default vocabulary filter for all searches (e.g., `,_jsx(_components.code,{children:`[\"SNOMED\"]`}),`)`]})}),_jsx(ParamField,{body:`domain_ids`,type:`string[]`,id:`param-domain-ids-1`,children:_jsxs(_components.p,{children:[`Default domain filter for all searches (e.g., `,_jsx(_components.code,{children:`[\"Condition\"]`}),`)`]})}),_jsx(ParamField,{body:`standard_concept`,type:`string`,id:`param-standard-concept-1`,children:_jsxs(_components.p,{children:[`Default standard concept filter: `,_jsx(_components.code,{children:`\"S\"`}),` or `,_jsx(_components.code,{children:`\"C\"`})]})}),_jsx(ParamField,{body:`concept_class_id`,type:`string`,id:`param-concept-class-id-1`,children:_jsx(_components.p,{children:`Default concept class filter`})})]})]}),`\n`,_jsx(Heading,{level:`2`,id:`query-parameters`,children:`Query Parameters`}),`\n`,_jsx(ParamField,{query:`vocab_release`,type:`string`,id:`param-vocab-release`,children:_jsx(_components.p,{children:`Specific vocabulary release version (defaults to latest)`})}),`\n`,_jsx(Heading,{level:`2`,id:`response`,children:`Response`}),`\n`,_jsx(ResponseField,{name:`success`,type:`boolean`,id:`param-success`,children:_jsx(_components.p,{children:`Indicates if the request was successful`})}),`\n`,_jsxs(ResponseField,{name:`data`,type:`object`,id:`param-data`,children:[_jsx(_components.p,{children:`Response data object containing results and summary counts`}),_jsxs(Expandable,{title:`Data Object`,children:[_jsxs(ResponseField,{name:`results`,type:`array`,id:`param-results`,children:[_jsx(_components.p,{children:`Array of search results, one per query`}),_jsxs(Expandable,{title:`Search Result`,children:[_jsx(ResponseField,{name:`search_id`,type:`string`,id:`param-search-id-1`,children:_jsx(_components.p,{children:`Identifier matching the request’s search_id`})}),_jsx(ResponseField,{name:`query`,type:`string`,id:`param-query-1`,children:_jsx(_components.p,{children:`Original search query`})}),_jsx(ResponseField,{name:`status`,type:`string`,id:`param-status`,children:_jsxs(_components.p,{children:[`Query execution status: `,_jsx(_components.code,{children:`completed`}),` or `,_jsx(_components.code,{children:`failed`})]})}),_jsxs(ResponseField,{name:`results`,type:`array`,id:`param-results-1`,children:[_jsx(_components.p,{children:`Matching concept suggestions, ordered by similarity.`}),_jsxs(Expandable,{title:`Concept Result`,children:[_jsx(ResponseField,{name:`concept_id`,type:`integer`,id:`param-concept-id`,children:_jsx(_components.p,{children:`Unique concept identifier`})}),_jsx(ResponseField,{name:`concept_name`,type:`string`,id:`param-concept-name`,children:_jsx(_components.p,{children:`Primary concept name`})}),_jsx(ResponseField,{name:`concept_code`,type:`string`,id:`param-concept-code`,children:_jsx(_components.p,{children:`Concept code from source vocabulary`})}),_jsx(ResponseField,{name:`vocabulary_id`,type:`string`,id:`param-vocabulary-id`,children:_jsx(_components.p,{children:`Source vocabulary`})}),_jsx(ResponseField,{name:`domain_id`,type:`string`,id:`param-domain-id`,children:_jsx(_components.p,{children:`Domain classification`})}),_jsx(ResponseField,{name:`concept_class_id`,type:`string`,id:`param-concept-class-id-2`,children:_jsx(_components.p,{children:`Concept class`})}),_jsx(ResponseField,{name:`standard_concept`,type:`string | null`,id:`param-standard-concept-2`,children:_jsxs(_components.p,{children:[`Standard concept indicator: `,_jsx(_components.code,{children:`S`}),`, `,_jsx(_components.code,{children:`C`}),`, or `,_jsx(_components.code,{children:`null`})]})}),_jsx(ResponseField,{name:`similarity_score`,type:`number`,id:`param-similarity-score`,children:_jsxs(_components.p,{children:[`Relative match score from 0.0 to 1.0. Relevance remains primary,\nbut within an anchored score band of at most `,_jsx(_components.code,{children:`0.0025`}),` the API may\nprefer more clinically useful concepts and demote non-clinical\nconcept classes. Scores are therefore not guaranteed to be\nstrictly descending. The score is not a probability or clinical\nconfidence value.`]})}),_jsx(ResponseField,{name:`matched_text`,type:`string`,id:`param-matched-text`,children:_jsx(_components.p,{children:`Text associated with the match.`})})]})]}),_jsx(ResponseField,{name:`error`,type:`string`,id:`param-error`,children:_jsx(_components.p,{children:`Error message (only present if query failed)`})}),_jsx(ResponseField,{name:`similarity_threshold`,type:`number`,id:`param-similarity-threshold`,children:_jsx(_components.p,{children:`The similarity threshold used for this query`})}),_jsx(ResponseField,{name:`result_count`,type:`integer`,id:`param-result-count`,children:_jsx(_components.p,{children:`Number of results returned for this query`})}),_jsx(ResponseField,{name:`retrieval_truncated`,type:`boolean`,id:`param-retrieval-truncated`,children:_jsxs(_components.p,{children:[_jsx(_components.code,{children:`true`}),` when additional matching concepts may exist beyond those\nreturned.`]})}),_jsx(ResponseField,{name:`totals_are_lower_bound`,type:`boolean`,id:`param-totals-are-lower-bound`,children:_jsxs(_components.p,{children:[_jsx(_components.code,{children:`true`}),` when reported totals are minimum known values rather than exact\ncounts. `,_jsx(_components.code,{children:`result_count`}),` remains the exact number returned for this\nitem.`]})}),_jsx(ResponseField,{name:`duration`,type:`number`,id:`param-duration`,children:_jsx(_components.p,{children:`Processing time for this query in milliseconds`})})]})]}),_jsx(ResponseField,{name:`total_searches`,type:`integer`,id:`param-total-searches`,children:_jsx(_components.p,{children:`Total number of searches in the request`})}),_jsx(ResponseField,{name:`completed_count`,type:`integer`,id:`param-completed-count`,children:_jsx(_components.p,{children:`Number of successfully completed searches`})}),_jsx(ResponseField,{name:`failed_count`,type:`integer`,id:`param-failed-count`,children:_jsx(_components.p,{children:`Number of failed searches`})}),_jsx(ResponseField,{name:`total_duration`,type:`number`,id:`param-total-duration`,children:_jsx(_components.p,{children:`Total processing time in milliseconds`})})]})]}),`\n`,_jsx(ResponseField,{name:`meta`,type:`object`,id:`param-meta`,children:_jsxs(Expandable,{title:`Metadata`,children:[_jsx(ResponseField,{name:`request_id`,type:`string`,id:`param-request-id`,children:_jsx(_components.p,{children:`Unique identifier for the request`})}),_jsx(ResponseField,{name:`vocab_release`,type:`string`,id:`param-vocab-release-1`,children:_jsx(_components.p,{children:`Vocabulary release version used`})}),_jsx(ResponseField,{name:`timestamp`,type:`string`,id:`param-timestamp`,children:_jsx(_components.p,{children:`Request timestamp`})})]})}),`\n`,_jsx(Warning,{children:_jsx(_components.p,{children:`Review each result before using it in a clinical workflow. Similarity scores\nrank matches; they are not probabilities or clinical confidence values.`})}),`\n`,_jsx(RequestExample,{children:_jsx(CodeBlock,{filename:`cURL`,numberOfLines:`28`,language:`shellscript`,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:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`28`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`curl`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -X`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` POST`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"https://api.omophub.com/v1/search/semantic-bulk\"`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -H`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"Authorization: Bearer YOUR_API_KEY\"`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -H`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"Content-Type: application/json\"`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -d`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` '{`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"defaults\": {`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"vocabulary_ids\": [\"SNOMED\"],`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"standard_concept\": \"S\",`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"threshold\": 0.5,`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"page_size\": 5`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` },`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"searches\": [`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` {`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"search_id\": \"s1\",`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"query\": \"heart attack\"`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` },`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` {`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"search_id\": \"s2\",`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"query\": \"sugar diabetes\",`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"threshold\": 0.7`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` },`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` {`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"search_id\": \"s3\",`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"query\": \"aspirin tablets\",`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"vocabulary_ids\": [\"RxNorm\"],`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"domain_ids\": [\"Drug\"]`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` ]`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` }'`})}),`\n`]})})})}),`\n`,_jsx(ResponseExample,{children:_jsx(CodeBlock,{filename:`Response`,numberOfLines:`34`,language:`json`,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:`json`,children:_jsxs(_components.code,{language:`json`,numberOfLines:`34`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`{`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"success\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:`true`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"data\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"results\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: [`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` {`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"search_id\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"s1\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"query\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"heart attack\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"status\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"completed\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"results\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: [`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` {`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"concept_id\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`4329847`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"concept_name\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"Myocardial infarction\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"concept_code\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"22298006\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"vocabulary_id\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"SNOMED\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"domain_id\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"Condition\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"concept_class_id\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"Clinical Finding\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"standard_concept\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"S\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"similarity_score\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`0.92`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"matched_text\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"Myocardial infarction\"`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` ],`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"similarity_threshold\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`0.5`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"result_count\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`1`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"retrieval_truncated\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:`false`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"totals_are_lower_bound\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:`false`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"duration\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`45`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` ],`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"total_searches\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`1`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"completed_count\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`1`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"failed_count\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`0`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"total_duration\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`45`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`}`})}),`\n`]})})})}),`\n`,_jsx(Heading,{level:`2`,id:`error-handling`,children:`Error Handling`}),`\n`,_jsxs(_components.p,{children:[`Each query is processed independently. A failed item has `,_jsx(_components.code,{children:`status: \"failed\"`}),`\nand an `,_jsx(_components.code,{children:`error`}),` message; other valid items continue normally.`]}),`\n`,_jsx(Heading,{level:`2`,id:`related-endpoints`,children:`Related Endpoints`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.a,{href:`/api-reference/search/semantic-search`,children:`Semantic Search`}),` - Single query semantic search with pagination`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.a,{href:`/api-reference/search/bulk-search`,children:`Bulk Search`}),` - Keyword-based bulk search (up to 50 queries)`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.a,{href:`/api-reference/search/basic-search`,children:`Basic Search`}),` - Single query keyword search with pagination`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.a,{href:`/api-reference/search/search-similar`,children:`Similar Concepts`}),` - Find concepts similar to a given concept`]}),`\n`]})]})}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":"Bulk Semantic Search","api":"POST https://api.omophub.com/v1/search/semantic-bulk","description":"Find related OMOP concepts for multiple English-language queries in one request.","href":"/api-reference/search/semantic-bulk-search"}}}},"mdxExtracts":{"tableOfContents":[{"title":"Overview","slug":"overview","depth":2,"children":[]},{"title":"Request Body","slug":"request-body","depth":2,"children":[]},{"title":"Query Parameters","slug":"query-parameters","depth":2,"children":[]},{"title":"Response","slug":"response","depth":2,"children":[]},{"title":"Error Handling","slug":"error-handling","depth":2,"children":[]},{"title":"Related Endpoints","slug":"related-endpoints","depth":2,"children":[]}],"codeExamples":{"request":{"type":"RequestExample","children":[{"filename":"cURL","html":"\u003cpre class=\"shiki shiki-themes github-light-default dark-plus\" style=\"background-color:#ffffff;--shiki-dark-bg:#0B0C0E;color:#1f2328;--shiki-dark:#D4D4D4\" language=\"shellscript\">\u003ccode language=\"shellscript\" numberOfLines=\"28\">\u003cspan class=\"line\">\u003cspan style=\"color:#953800;--shiki-dark:#DCDCAA\">curl\u003c/span>\u003cspan style=\"color:#0550AE;--shiki-dark:#569CD6\"> -X\u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\"> POST\u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\"> \"https://api.omophub.com/v1/search/semantic-bulk\"\u003c/span>\u003cspan style=\"color:#CF222E;--shiki-dark:#D7BA7D\"> \\\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#0550AE;--shiki-dark:#569CD6\"> -H\u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\"> \"Authorization: Bearer YOUR_API_KEY\"\u003c/span>\u003cspan style=\"color:#CF222E;--shiki-dark:#D7BA7D\"> \\\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#0550AE;--shiki-dark:#569CD6\"> -H\u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\"> \"Content-Type: application/json\"\u003c/span>\u003cspan style=\"color:#CF222E;--shiki-dark:#D7BA7D\"> \\\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#0550AE;--shiki-dark:#569CD6\"> -d\u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\"> '{\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\"> \"defaults\": {\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\"> \"vocabulary_ids\": [\"SNOMED\"],\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\"> \"standard_concept\": \"S\",\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\"> \"threshold\": 0.5,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\"> \"page_size\": 5\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\"> },\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\"> \"searches\": [\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\"> {\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\"> \"search_id\": \"s1\",\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\"> \"query\": \"heart attack\"\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\"> },\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\"> {\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\"> \"search_id\": \"s2\",\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\"> \"query\": \"sugar diabetes\",\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\"> \"threshold\": 0.7\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\"> },\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\"> {\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\"> \"search_id\": \"s3\",\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\"> \"query\": \"aspirin tablets\",\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\"> \"vocabulary_ids\": [\"RxNorm\"],\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\"> \"domain_ids\": [\"Drug\"]\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\"> }\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\"> ]\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\"> }'\u003c/span>\u003c/span>\n\u003c/code>\u003c/pre>"}],"attributes":[]},"response":{"type":"ResponseExample","children":[{"filename":"Response","html":"\u003cpre class=\"shiki shiki-themes github-light-default dark-plus\" style=\"background-color:#ffffff;--shiki-dark-bg:#0B0C0E;color:#1f2328;--shiki-dark:#D4D4D4\" language=\"json\">\u003ccode language=\"json\" numberOfLines=\"34\">\u003cspan class=\"line\">\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">{\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"success\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0550AE;--shiki-dark:#569CD6\">true\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"data\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: {\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"results\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: [\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\"> {\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"search_id\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">\"s1\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"query\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">\"heart attack\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"status\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">\"completed\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"results\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: [\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\"> {\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"concept_id\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0550AE;--shiki-dark:#B5CEA8\">4329847\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"concept_name\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">\"Myocardial infarction\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"concept_code\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">\"22298006\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"vocabulary_id\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">\"SNOMED\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"domain_id\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">\"Condition\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"concept_class_id\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">\"Clinical Finding\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"standard_concept\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">\"S\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"similarity_score\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0550AE;--shiki-dark:#B5CEA8\">0.92\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"matched_text\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">\"Myocardial infarction\"\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\"> }\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\"> ],\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"similarity_threshold\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0550AE;--shiki-dark:#B5CEA8\">0.5\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"result_count\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0550AE;--shiki-dark:#B5CEA8\">1\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"retrieval_truncated\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0550AE;--shiki-dark:#569CD6\">false\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"totals_are_lower_bound\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0550AE;--shiki-dark:#569CD6\">false\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"duration\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0550AE;--shiki-dark:#B5CEA8\">45\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\"> }\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\"> ],\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"total_searches\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0550AE;--shiki-dark:#B5CEA8\">1\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"completed_count\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0550AE;--shiki-dark:#B5CEA8\">1\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"failed_count\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0550AE;--shiki-dark:#B5CEA8\">0\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"total_duration\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0550AE;--shiki-dark:#B5CEA8\">45\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\"> }\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">}\u003c/span>\u003c/span>\n\u003c/code>\u003c/pre>"}],"attributes":[]}},"endpoint":{"title":"Bulk Semantic Search","path":"/v1/search/semantic-bulk","servers":[{"url":"https://api.omophub.com"}],"method":"post","request":{"security":[],"parameters":{"query":{"vocab_release":{"schema":[{"type":"string","description":"Specific vocabulary release version (defaults to latest)"}]}},"header":{},"cookie":{},"path":{}},"body":{"application/json":{"schemaArray":[{"type":"object","properties":{"searches":[{"type":"array","items":[{"type":"object","properties":{"search_id":[{"type":"string","description":"Unique identifier for this search within the batch. NUL characters (U+0000) are stripped before processing; results echo the normalized identifier. The identifier must remain nonempty after normalization.","required":true}],"query":[{"type":"string","description":"English natural-language search query. After trimming, queries must contain 3-500 characters. `MI` is also accepted as a case-insensitive abbreviation. Other 1-2 character queries fail only their own bulk item.","required":true}],"page_size":[{"type":"integer","description":"Number of results per search (1-50). Overrides `defaults.page_size` for this search."}],"threshold":[{"type":"number","description":"Minimum similarity score (0.0-1.0). Higher values return fewer, closer matches. Overrides `defaults.threshold` for this search."}],"vocabulary_ids":[{"type":"array","items":[{"type":"string"}],"description":"Filter results to specific vocabularies (e.g., `[\"SNOMED\", \"ICD10CM\"]` ). In a mixed list, inaccessible vocabularies are omitted; an all-inaccessible list fails that search item. Overrides `defaults.vocabulary_ids` ."}],"domain_ids":[{"type":"array","items":[{"type":"string"}],"description":"Filter results to specific domains (e.g., `[\"Condition\", \"Drug\"]` ). Overrides `defaults.domain_ids` for this search."}],"standard_concept":[{"type":"string","description":"Filter by standard concept status: `\"S\"` (Standard) or `\"C\"` (Classification). Overrides `defaults.standard_concept` for this search."}],"concept_class_id":[{"type":"string","description":"Filter by concept class (e.g., `\"Clinical Finding\"` ). Overrides `defaults.concept_class_id` for this search."}]}}],"description":"Array of semantic search query objects (1-25 items)","required":true}],"defaults":[{"type":"object","properties":{"page_size":[{"type":"integer","description":"Default results per search (1-50)"}],"threshold":[{"type":"number","description":"Default minimum similarity score (0.0-1.0). This is not a probability or clinical confidence threshold."}],"vocabulary_ids":[{"type":"array","items":[{"type":"string"}],"description":"Default vocabulary filter for all searches (e.g., `[\"SNOMED\"]` )"}],"domain_ids":[{"type":"array","items":[{"type":"string"}],"description":"Default domain filter for all searches (e.g., `[\"Condition\"]` )"}],"standard_concept":[{"type":"string","description":"Default standard concept filter: `\"S\"` or `\"C\"`"}],"concept_class_id":[{"type":"string","description":"Default concept class filter"}]},"description":"Default parameters applied to all searches. Individual searches can override any default."}]}}],"examples":{"example":{"value":{"searches":[{"search_id":"\u003cstring>","query":"\u003cstring>","page_size":123,"threshold":123,"vocabulary_ids":["\u003cstring>"],"domain_ids":["\u003cstring>"],"standard_concept":"\u003cstring>","concept_class_id":"\u003cstring>"}],"defaults":{"page_size":123,"threshold":123,"vocabulary_ids":["\u003cstring>"],"domain_ids":["\u003cstring>"],"standard_concept":"\u003cstring>","concept_class_id":"\u003cstring>"}}}}}}},"response":{"200":{"application/json":{"schemaArray":[{"type":"object","properties":{"success":[{"type":"boolean","description":"Indicates if the request was successful"}],"data":[{"type":"object","properties":{"results":[{"type":"array","items":[{"type":"object","properties":{"search_id":[{"type":"string","description":"Identifier matching the request’s search_id"}],"query":[{"type":"string","description":"Original search query"}],"status":[{"type":"string","description":"Query execution status: `completed` or `failed`"}],"results":[{"type":"array","items":[{"type":"object","properties":{"concept_id":[{"type":"integer","description":"Unique concept identifier"}],"concept_name":[{"type":"string","description":"Primary concept name"}],"concept_code":[{"type":"string","description":"Concept code from source vocabulary"}],"vocabulary_id":[{"type":"string","description":"Source vocabulary"}],"domain_id":[{"type":"string","description":"Domain classification"}],"concept_class_id":[{"type":"string","description":"Concept class"}],"standard_concept":[{"type":"object","properties":{},"description":"Standard concept indicator: `S` , `C` , or `null`"}],"similarity_score":[{"type":"number","description":"Relative match score from 0.0 to 1.0. Relevance remains primary, but within an anchored score band of at most `0.0025` the API may prefer more clinically useful concepts and demote non-clinical concept classes. Scores are therefore not guaranteed to be strictly descending. The score is not a probability or clinical confidence value."}],"matched_text":[{"type":"string","description":"Text associated with the match."}]}}],"description":"Matching concept suggestions, ordered by similarity."}],"error":[{"type":"string","description":"Error message (only present if query failed)"}],"similarity_threshold":[{"type":"number","description":"The similarity threshold used for this query"}],"result_count":[{"type":"integer","description":"Number of results returned for this query"}],"retrieval_truncated":[{"type":"boolean","description":"`true` when additional matching concepts may exist beyond those returned."}],"totals_are_lower_bound":[{"type":"boolean","description":"`true` when reported totals are minimum known values rather than exact counts. `result_count` remains the exact number returned for this item."}],"duration":[{"type":"number","description":"Processing time for this query in milliseconds"}]}}],"description":"Array of search results, one per query"}],"total_searches":[{"type":"integer","description":"Total number of searches in the request"}],"completed_count":[{"type":"integer","description":"Number of successfully completed searches"}],"failed_count":[{"type":"integer","description":"Number of failed searches"}],"total_duration":[{"type":"number","description":"Total processing time in milliseconds"}]},"description":"Response data object containing results and summary counts"}],"meta":[{"type":"object","properties":{"request_id":[{"type":"string","description":"Unique identifier for the request"}],"vocab_release":[{"type":"string","description":"Vocabulary release version used"}],"timestamp":[{"type":"string","description":"Request timestamp"}]}}]}}],"examples":{"example":{"value":{"success":true,"data":{"results":[{"search_id":"\u003cstring>","query":"\u003cstring>","status":"\u003cstring>","results":[{"concept_id":123,"concept_name":"\u003cstring>","concept_code":"\u003cstring>","vocabulary_id":"\u003cstring>","domain_id":"\u003cstring>","concept_class_id":"\u003cstring>","standard_concept":{},"similarity_score":123,"matched_text":"\u003cstring>"}],"error":"\u003cstring>","similarity_threshold":123,"result_count":123,"retrieval_truncated":true,"totals_are_lower_bound":true,"duration":123}],"total_searches":123,"completed_count":123,"failed_count":123,"total_duration":123},"meta":{"request_id":"\u003cstring>","vocab_release":"\u003cstring>","timestamp":"\u003cstring>"}}}}}}},"deprecated":false}},"jsLinks":["/_mintlify/custom/medilensio/49768d5eb862e11b/datafast.js"],"subdomain":"medilensio","siteName":"OMOPHub.com API","title":"Bulk Semantic Search - OMOPHub.com API","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-10-06T12:46:22.638Z","originalFileLocation":"api-reference/search/semantic-bulk-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=\"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=\"Find related OMOP concepts for multiple English-language queries in one request.\">\u003cmeta data-mint-head name=\"application-name\" content=\"OMOPHub.com API\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/medilensio/noiKV6wLJlXi3G19/_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/medilensio/noiKV6wLJlXi3G19/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/medilensio/noiKV6wLJlXi3G19/_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/medilensio/noiKV6wLJlXi3G19/_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/medilensio/noiKV6wLJlXi3G19/_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/medilensio/noiKV6wLJlXi3G19/_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/medilensio/noiKV6wLJlXi3G19/_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/medilensio/noiKV6wLJlXi3G19/_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/medilensio/noiKV6wLJlXi3G19/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Bulk Semantic Search - OMOPHub.com API\">\u003cmeta data-mint-head property=\"og:description\" content=\"Find related OMOP concepts for multiple English-language queries in one request.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"OMOPHub.com API\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.omophub.com/api-reference/search/semantic-bulk-search\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://medilensio.mintlify.app/_mintlify/api/og/v2?division=Search\u0026amp;title=Bulk+Semantic+Search\u0026amp;description=Find+related+OMOP+concepts+for+multiple+English-language+queries+in+one+request.\u0026amp;theme=15f9696e07b0e9e8db19d27b\u0026amp;signature=9e4f02e859792b49681a54efe55a58fa34b859d4401cccce8e3e530711065f1f\">\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=\"Bulk Semantic Search - OMOPHub.com API\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Find related OMOP concepts for multiple English-language queries in one request.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://medilensio.mintlify.app/_mintlify/api/og/v2?division=Search\u0026amp;title=Bulk+Semantic+Search\u0026amp;description=Find+related+OMOP+concepts+for+multiple+English-language+queries+in+one+request.\u0026amp;theme=15f9696e07b0e9e8db19d27b\u0026amp;signature=9e4f02e859792b49681a54efe55a58fa34b859d4401cccce8e3e530711065f1f\">\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/medilensio/noiKV6wLJlXi3G19/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"OMOPHub.com API\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#000000\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.omophub.com/api-reference/search/semantic-bulk-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/semantic-bulk-search.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.omophub.com/#organization\",\"name\":\"OMOPHub.com API\",\"url\":\"https://docs.omophub.com\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/medilensio/d8KZ5UNRHYv--jGr/logo/logo-light.svg?fit=max\u0026auto=format\u0026n=d8KZ5UNRHYv--jGr\u0026q=85\u0026s=cf586cc87e1e46b0e11ae3b80c0467da\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.omophub.com#website\",\"name\":\"OMOPHub.com API\",\"url\":\"https://docs.omophub.com\",\"publisher\":{\"@id\":\"https://docs.omophub.com/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.omophub.com/api-reference/search/semantic-bulk-search#webpage\",\"url\":\"https://docs.omophub.com/api-reference/search/semantic-bulk-search\",\"name\":\"Bulk Semantic Search\",\"description\":\"Find related OMOP concepts for multiple English-language queries in one request.\",\"dateModified\":\"2026-10-06T12:46:22.638Z\",\"isPartOf\":{\"@id\":\"https://docs.omophub.com#website\"},\"breadcrumb\":{\"@id\":\"https://docs.omophub.com/api-reference/search/semantic-bulk-search#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.omophub.com/api-reference/search/semantic-bulk-search#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Search\",\"item\":\"https://docs.omophub.com/api-reference/search/basic-search\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Bulk Semantic Search\",\"item\":\"https://docs.omophub.com/api-reference/search/semantic-bulk-search\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://docs.omophub.com/api-reference/search/semantic-bulk-search#apireference\",\"headline\":\"Bulk Semantic Search\",\"name\":\"Bulk Semantic Search\",\"description\":\"Find related OMOP concepts for multiple English-language queries in one request.\",\"url\":\"https://docs.omophub.com/api-reference/search/semantic-bulk-search\",\"mainEntityOfPage\":{\"@id\":\"https://docs.omophub.com/api-reference/search/semantic-bulk-search#webpage\"},\"dateModified\":\"2026-10-06T12:46:22.638Z\",\"publisher\":{\"@id\":\"https://docs.omophub.com/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.omophub.com#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"OMOPHub.com API\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"OMOPHub.com API","nav":{"global":null,"anchors":[{"anchor":"Documentation","icon":"book-open","pages":[{"title":"Documentation","href":"/introduction"}]},{"anchor":"API Reference","icon":"square-terminal","groups":[{"group":"API Reference","pages":[{"title":"Introduction","href":"/api-reference/introduction"},{"title":"API error codes","href":"/api-reference/errors"},{"title":"API rate limits","href":"/api-reference/rate-limit"}]},{"group":"Search","pages":[{"title":"Basic Concept Search","api":"GET /v1/search/concepts","href":"/api-reference/search/basic-search"},{"title":"Multi-lingual Search","href":"/api-reference/search/multi-lingual-search"},{"title":"Semantic Search","api":"GET /v1/search/semantic","href":"/api-reference/search/semantic-search"},{"title":"Advanced Search","api":"POST /v1/search/advanced","href":"/api-reference/search/advanced-search"},{"title":"Bulk Search","api":"POST https://api.omophub.com/v1/search/bulk","description":"Perform OMOP concept search on multiple queries simultaneously with optimized batch processing - ideal for ETL pipelines and terminology mapping jobs.","href":"/api-reference/search/bulk-search"},{"title":"Bulk Semantic Search","api":"POST https://api.omophub.com/v1/search/semantic-bulk","href":"/api-reference/search/semantic-bulk-search"},{"title":"Search Similar Concepts","api":"POST https://api.omophub.com/v1/search/similar","description":"Find semantically similar medical concepts using advanced machine learning algorithms with flexible search criteria and body parameters.","href":"/api-reference/search/search-similar"},{"title":"Get Similar Concepts by ID","api":"GET https://api.omophub.com/v1/search/similar/{conceptId}","href":"/api-reference/search/get-search-similar-by-id"},{"title":"Search Autocomplete","api":"GET /v1/search/autocomplete","href":"/api-reference/search/search-autocomplete"},{"title":"Search Facets","api":"GET https://api.omophub.com/v1/search/facets","href":"/api-reference/search/search-facets"},{"title":"Search Suggest","api":"GET https://api.omophub.com/v1/search/suggest","href":"/api-reference/search/search-suggest"}]},{"group":"Concepts","pages":[{"title":"Get Concept","api":"GET /v1/concepts/{conceptId}","href":"/api-reference/concepts/get-concept"},{"title":"Get Concept by Code","api":"GET /v1/concepts/by-code/{vocabularyId}/{conceptCode}","href":"/api-reference/concepts/get-concept-by-code"},{"title":"Suggest Concepts","api":"GET /v1/concepts/suggest","href":"/api-reference/concepts/suggest-concepts"},{"title":"Recommended Concepts","api":"POST /v1/concepts/recommended","href":"/api-reference/concepts/recommended-concepts"},{"title":"Check Concept Relations","api":"GET https://api.omophub.com/v1/concepts/{conceptId}/relations/any","href":"/api-reference/concepts/check-concept-relations"},{"title":"Get Concept Level","api":"GET https://api.omophub.com/v1/concepts/{conceptId}/level","href":"/api-reference/concepts/get-concept-level"},{"title":"Get Relationship Options","api":"GET https://api.omophub.com/v1/concepts/{conceptId}/relationships/options","href":"/api-reference/concepts/get-relationship-options"},{"title":"Get Related Concepts","api":"GET https://api.omophub.com/v1/concepts/{conceptId}/related","href":"/api-reference/concepts/get-related-concepts"},{"title":"Traverse Relationships","api":"POST https://api.omophub.com/v1/concepts/relationships/traverse","href":"/api-reference/concepts/traverse-relationships"},{"title":"Batch Concepts","api":"POST /v1/concepts/batch","href":"/api-reference/concepts/batch-concepts"},{"title":"Batch Relationship Queries","api":"POST https://api.omophub.com/v1/concepts/relationships/batch","href":"/api-reference/concepts/batch-relationship-queries"},{"title":"Batch Hierarchy Queries","api":"POST https://api.omophub.com/v1/concepts/hierarchy/batch","href":"/api-reference/concepts/batch-hierarchy-queries"}]},{"group":"Concept Hierarchy","pages":[{"title":"Get Concept Ancestors","api":"GET /v1/concepts/{concept_id}/ancestors","href":"/api-reference/hierarchy/get-concept-ancestors"},{"title":"Get Concept Descendants","api":"GET /v1/concepts/{concept_id}/descendants","href":"/api-reference/hierarchy/get-concept-descendants"},{"title":"Get Concept Hierarchy","api":"GET /v1/concepts/{concept_id}/hierarchy","href":"/api-reference/hierarchy/get-concept-hierarchy"},{"title":"Get concept path","href":"/api-reference/hierarchy/get-concept-path"}]},{"group":"Mappings","pages":[{"title":"Map Concepts","api":"POST https://api.omophub.com/v1/concepts/map","href":"/api-reference/mappings/map-concepts"},{"title":"Get Concept Mappings","api":"GET /v1/concepts/{conceptId}/mappings","href":"/api-reference/mappings/get-concept-mappings"},{"title":"Batch Map Concepts","api":"POST https://api.omophub.com/v1/concepts/map/batch","href":"/api-reference/mappings/batch-map-concepts"},{"title":"Validate Mappings","api":"POST https://api.omophub.com/v1/mappings/validate","href":"/api-reference/mappings/validate-mappings"},{"title":"Get Mapping Coverage","api":"GET /v1/mappings/coverage","href":"/api-reference/mappings/get-mapping-coverage"},{"title":"Get Mapping Quality","api":"GET /v1/mappings/quality/{source_vocabulary}/{target_vocabulary}","href":"/api-reference/mappings/get-mapping-quality"}]},{"group":"FHIR Resolver","pages":[{"title":"Resolve FHIR Coding","api":"POST /v1/fhir/resolve","href":"/api-reference/fhir/resolve"},{"title":"Resolve FHIR Codings - Batch","api":"POST /v1/fhir/resolve/batch","href":"/api-reference/fhir/resolve-batch"},{"title":"Resolve FHIR CodeableConcept","api":"POST /v1/fhir/resolve/codeable-concept","href":"/api-reference/fhir/resolve-codeable-concept"}]},{"group":"Relationships","pages":[{"title":"Get Relationship Types","api":"GET /v1/relationships/types","href":"/api-reference/relationships/get-relationship-types"},{"title":"List Relationships for a Concept","api":"GET /v1/concepts/{concept_id}/relationships","href":"/api-reference/relationships/get-concept-relationships"},{"title":"Get Concept Relationships by Type","api":"GET /v1/concepts/{concept_id}/relationships/{relationship_type}","href":"/api-reference/relationships/get-concept-relationships-by-type"}]},{"group":"Domains \u0026 Classifications","pages":[{"title":"Get Domains","api":"GET /v1/domains","href":"/api-reference/domains/get-domains"},{"title":"Get Domain Concepts","api":"GET /v1/domains/{domain_id}/concepts","href":"/api-reference/domains/get-domain-concepts"},{"title":"Get Domain Statistics","api":"GET /v1/domains/{domain_id}/statistics","href":"/api-reference/domains/get-domain-statistics"},{"title":"Get Concept Classes","api":"GET /v1/concept-classes","href":"/api-reference/domains/get-concept-classes"}]},{"group":"Vocabularies","pages":[{"title":"List Vocabularies","api":"GET /v1/vocabularies","href":"/api-reference/vocabularies/list-vocabularies"},{"title":"Get Vocabulary Details","api":"GET /v1/vocabularies/{vocabularyId}","href":"/api-reference/vocabularies/get-vocabulary"},{"title":"Search Vocabularies","api":"GET /v1/vocabularies/search","href":"/api-reference/vocabularies/search-vocabularies"},{"title":"Get Vocabulary Concepts","api":"GET /v1/vocabularies/{vocabularyId}/concepts","href":"/api-reference/vocabularies/get-vocabulary-concepts"},{"title":"Get Vocabulary Statistics","api":"GET /v1/vocabularies/{vocabularyId}/stats","href":"/api-reference/vocabularies/get-vocabulary-stats"},{"title":"Get Vocabulary Domains","api":"GET /v1/vocabularies/domains","href":"/api-reference/vocabularies/get-vocabulary-domains"},{"title":"Get Vocabulary Releases","api":"GET /v1/vocabularies/releases","href":"/api-reference/vocabularies/get-vocabulary-releases"},{"title":"Get Vocabulary Release Version","api":"GET /v1/vocabularies/release-version","href":"/api-reference/vocabularies/get-vocabulary-release-version"},{"title":"Get Vocabulary Concept Classes","api":"GET https://api.omophub.com/v1/vocabularies/concept-classes","href":"/api-reference/vocabularies/get-vocabulary-concept-classes"},{"title":"Get Vocabulary Domain Statistics","api":"GET https://api.omophub.com/v1/vocabularies/{vocabularyId}/stats/domains/{domainId}","href":"/api-reference/vocabularies/get-vocabulary-domain-stats"}]}]},{"anchor":"FHIR Terminology","icon":"fire","pages":[{"title":"FHIR Terminology","href":"/api-reference/fhir-terminology/overview"}]},{"anchor":"Build with AI","icon":"wand-magic-sparkles","pages":[{"title":"Build with AI","href":"/ai/onboarding"}]},{"anchor":"SDKs","icon":"cube","pages":[{"title":"SDKs","href":"/sdks/python/overview"}]}]},"basePath":"","title":"Bulk Semantic Search - OMOPHub.com API","buildId":"dpl_9VVk5y1P8k1ATeJguVngy9Q3cmbD","deploymentId":"dpl_9VVk5y1P8k1ATeJguVngy9Q3cmbD","dynamics":["c2aa737661","2b790eda92","b0f84f53ff"],"chunks":["OpenApiReferenceProvider-DX1Meug0.js","utils-B_OMIQVC.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-ChxhRPMa.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-CuKvD8Iv.js","snippetPresets-C5d7p2hp.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","ApiExamples-CfHcE8m4.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-C1zZV314.js","shallow-CmQhqCJn.js","getApiPlaygroundDisplay-YRo9s1O7.js","CodeSnippet-RN1MTdfk.js","CodeSnippets-DKLPHxJA.js","Page-BAvA99GL.js","getPastedJson-bz0M41mU.js","icon-CsmhpPrv.js","MethodPill-CNGsVE77.js","DuplicateIcon-DilfU_Z2.js","createIcon-BdsYzQck.js","DynamicMarkdown-CbqEDjbV.js","SectionHeading-O6hXpFCN.js","axios-vUo_bRtp.js"]}