# Get multiple documents
**POST /{index}/_mget**
**All methods and paths for this operation:**
GET
/_mget
POST
/_mget
GET
/{index}/_mget
POST
/{index}/_mget
Get multiple JSON documents by ID from one or more indices.
If you specify an index in the request URI, you only need to specify the document IDs in the request body.
To ensure fast responses, this multi get (mget) API responds with partial results if one or more shards fail.
**Filter source fields**
By default, the `_source` field is returned for every document (if stored).
Use the `_source` and `_source_include` or `source_exclude` attributes to filter what fields are returned for a particular document.
You can include the `_source`, `_source_includes`, and `_source_excludes` query parameters in the request URI to specify the defaults to use when there are no per-document instructions.
**Get stored fields**
Use the `stored_fields` attribute to specify the set of stored fields you want to retrieve.
Any requested fields that are not stored are ignored.
You can include the `stored_fields` query parameter in the request URI to specify the defaults to use when there are no per-document instructions.
## Required authorization
* Index privileges: `read`
## Servers
- http://api.example.com: http://api.example.com ()
## Authentication methods
- Api key auth
- Basic auth
- Bearer auth
## Parameters
### Path parameters
- **index** (string)
Name of the index to retrieve documents from when `ids` are specified, or when a document in the `docs` array does not specify an index.
### Query parameters
- **preference** (string)
Specifies the node or shard the operation should be performed on. Random by default.
- **realtime** (boolean)
If `true`, the request is real-time as opposed to near-real-time.
- **refresh** (boolean)
If `true`, the request refreshes relevant shards before retrieving documents.
- **routing** (string | array[string])
Custom value used to route operations to a specific shard.
- **_source** (boolean | string | array[string])
True or false to return the `_source` field or not, or a list of fields to return.
- **_source_excludes** (string | array[string])
A comma-separated list of source fields to exclude from the response.
You can also use this parameter to exclude fields from the subset specified in `_source_includes` query parameter.
- **_source_includes** (string | array[string])
A comma-separated list of source fields to include in the response.
If this parameter is specified, only these source fields are returned. You can exclude fields from this subset using the `_source_excludes` query parameter.
If the `_source` parameter is `false`, this parameter is ignored.
- **stored_fields** (string | array[string])
If `true`, retrieves the document fields stored in the index rather than the document `_source`.
### Body: application/json (object)
- **docs** (array[object])
The documents you want to retrieve. Required if no index is specified in the request URI.
- **ids** (string | array[string])
The IDs of the documents you want to retrieve. Allowed when the index is specified in the request URI.
## Responses
### 200
#### Body: application/json (object)
- **docs** (array[object])
The response includes a docs array that contains the documents in the order specified in the request.
The structure of the returned documents is similar to that returned by the get API.
If there is a failure getting a particular document, the error is included in place of the document.
[Powered by Bump.sh](https://bump.sh)