Full name:

Searches for resources in the given FHIR store according to criteria specified as query parameters.

Implements the FHIR standard search interaction (DSTU2, STU3, R4) using the search semantics described in the FHIR Search specification (DSTU2, STU3, R4).

Supports three methods of search defined by the specification:

  • GET [base]?[parameters] to search across all resources.
  • GET [base]/[type]?[parameters] to search resources of a specified type.
  • POST [base]/[type]/_search?[parameters] as an alternate form having the same semantics as the GET method.

The GET methods do not support compartment searches. The POST method does not support application/x-www-form-urlencoded search parameters.

On success, the response body contains a JSON-encoded representation of a Bundle resource of type searchset, containing the results of the search. Errors generated by the FHIR store contain a JSON-encoded OperationOutcome resource describing the reason for the error. If the request cannot be mapped to a valid API method on a FHIR store, a generic GCP error might be returned instead.

The server's capability statement, retrieved through capabilities, indicates what search parameters are supported on each FHIR resource. A list of all search parameters defined by the specification can be found in the FHIR Search Parameter Registry (STU3, R4). FHIR search parameters for DSTU2 can be found on each resource's definition page.

Supported search modifiers: :missing, :exact, :contains, :text, :in, :not-in, :above, :below, :[type], :not, and :recurse.

Supported search result parameters: _sort, _count, _include, _revinclude, _summary=text, _summary=data, and _elements.

The maximum number of search results returned defaults to 100, which can be overridden by the _count parameter up to a maximum limit of 1000. If there are additional results, the returned Bundle contains pagination links.

Resources with a total size larger than 5MB or a field count larger than 50,000 might not be fully searchable as the server might trim its generated search index in those cases.

Note: FHIR resources are indexed asynchronously, so there might be a slight delay between the time a resource is created or changes and when the change is reflected in search results.

For samples and detailed information, see Searching for FHIR resources and Advanced FHIR search features.

HTTP request


The URL uses gRPC Transcoding syntax.

Path parameters



Name of the FHIR store to retrieve resources from.

Authorization requires the following IAM permission on the specified resource parent:

  • healthcare.fhirStores.searchResources


The FHIR resource type to search, such as Patient or Observation. For a complete list, see the FHIR Resource Index (DSTU2, STU3, R4).

Request body

The request body must be empty.

Response body

If successful, the response is a generic HTTP response whose format is defined by the method.

Authorization Scopes

Requires one of the following OAuth scopes:


For more information, see the Authentication Overview.