> ## Documentation Index
> Fetch the complete documentation index at: https://algolia.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Retrieve records

> Retrieves one or more records, potentially from different indices.

**Required ACL:** `search`

Records are returned in the same order as the requests.

## Usage

<CodeGroup>
  ```cs C# theme={"system"}
  // Initialize the client
  var client = new SearchClient(new SearchConfig("ALGOLIA_APPLICATION_ID", "ALGOLIA_API_KEY"));

  // Call the API
  var response = await client.GetObjectsAsync<Hit>(
    new GetObjectsParams
    {
      Requests = new List<GetObjectsRequest>
      {
        new GetObjectsRequest { ObjectID = "uniqueID", IndexName = "<YOUR_INDEX_NAME>" },
      },
    }
  );

  // print the response
  Console.WriteLine(response);
  ```

  ```dart Dart theme={"system"}
  // Initialize the client
  final client =
      SearchClient(appId: 'ALGOLIA_APPLICATION_ID', apiKey: 'ALGOLIA_API_KEY');

  // Call the API
  final response = await client.getObjects(
    getObjectsParams: GetObjectsParams(
      requests: [
        GetObjectsRequest(
          objectID: "uniqueID",
          indexName: "<YOUR_INDEX_NAME>",
        ),
      ],
    ),
  );

  // print the response
  print(response);
  ```

  ```go Go theme={"system"}
  // Initialize the client
  client, err := search.NewClient("ALGOLIA_APPLICATION_ID", "ALGOLIA_API_KEY")
  if err != nil {
    // The client can fail to initialize if you pass an invalid parameter.
    panic(err)
  }

  // Call the API
  response, err := client.GetObjects(client.NewApiGetObjectsRequest(

    search.NewEmptyGetObjectsParams().SetRequests(
      []search.GetObjectsRequest{*search.NewEmptyGetObjectsRequest().SetObjectID("uniqueID").SetIndexName("<YOUR_INDEX_NAME>")})))
  if err != nil {
    // handle the eventual error
    panic(err)
  }


  // print the response
  print(response)
  ```

  ```java Java theme={"system"}
  // Initialize the client
  SearchClient client = new SearchClient("ALGOLIA_APPLICATION_ID", "ALGOLIA_API_KEY");

  // Call the API
  GetObjectsResponse response = client.getObjects(
    new GetObjectsParams().setRequests(Arrays.asList(new GetObjectsRequest().setObjectID("uniqueID").setIndexName("<YOUR_INDEX_NAME>"))),
    Hit.class
  );

  // print the response
  System.out.println(response);
  ```

  ```js JavaScript theme={"system"}
  // Initialize the client
  const client = algoliasearch('ALGOLIA_APPLICATION_ID', 'ALGOLIA_API_KEY');

  // Call the API
  const response = await client.getObjects({ requests: [{ objectID: 'uniqueID', indexName: 'theIndexName' }] });


  // print the response
  console.log(response);
  ```

  ```kotlin Kotlin theme={"system"}
  // Initialize the client
  val client = SearchClient(appId = "ALGOLIA_APPLICATION_ID", apiKey = "ALGOLIA_API_KEY")

  // Call the API
  var response =
    client.getObjects(
      getObjectsParams =
        GetObjectsParams(
          requests =
            listOf(GetObjectsRequest(objectID = "uniqueID", indexName = "<YOUR_INDEX_NAME>"))
        )
    )


  // print the response
  println(response)
  ```

  ```php PHP theme={"system"}
  // Initialize the client
  $client = SearchClient::create('ALGOLIA_APPLICATION_ID', 'ALGOLIA_API_KEY');

  // Call the API
  $response = $client->getObjects(
      ['requests' => [
          ['objectID' => 'uniqueID',
              'indexName' => '<YOUR_INDEX_NAME>',
          ],
      ],
      ],
  );


  // print the response
  var_dump($response);
  ```

  ```python Python theme={"system"}
  # Initialize the client
  # In an asynchronous context, you can use SearchClient instead, which exposes the exact same methods.
  client = SearchClientSync("ALGOLIA_APPLICATION_ID", "ALGOLIA_API_KEY")

  # Call the API
  response = client.get_objects(
      get_objects_params={
          "requests": [
              {
                  "objectID": "uniqueID",
                  "indexName": "<YOUR_INDEX_NAME>",
              },
          ],
      },
  )


  # print the response
  print(response)
  ```

  ```ruby Ruby theme={"system"}
  # Initialize the client
  client = Algolia::SearchClient.create("ALGOLIA_APPLICATION_ID", "ALGOLIA_API_KEY")

  # Call the API
  response = client.get_objects(
    Algolia::Search::GetObjectsParams.new(
      requests: [Algolia::Search::GetObjectsRequest.new(algolia_object_id: "uniqueID", index_name: "<YOUR_INDEX_NAME>")]
    )
  )


  # print the response
  puts(response)
  ```

  ```scala Scala theme={"system"}
  // Initialize the client
  val client = SearchClient(appId = "ALGOLIA_APPLICATION_ID", apiKey = "ALGOLIA_API_KEY")

  // Call the API
  val response = Await.result(
    client.getObjects(
      getObjectsParams = GetObjectsParams(
        requests = Seq(
          GetObjectsRequest(
            objectID = "uniqueID",
            indexName = "<YOUR_INDEX_NAME>"
          )
        )
      )
    ),
    Duration(100, "sec")
  )

  // print the response
  println(response)
  ```

  ```swift Swift theme={"system"}
  // Initialize the client
  let client = try SearchClient(appID: "ALGOLIA_APPLICATION_ID", apiKey: "ALGOLIA_API_KEY")

  // Call the API
  let response: GetObjectsResponse<Hit> = try await client
      .getObjects(getObjectsParams: GetObjectsParams(requests: [GetObjectsRequest(
          objectID: "uniqueID",
          indexName: "<YOUR_INDEX_NAME>"
      )]))

  // print the response
  print(response)
  ```
</CodeGroup>

<Card icon="folder-code" horizontal="true" title="See the full API reference" arrow="true" href="/doc/rest-api/search/get-objects">
  For more details about input parameters
  and response fields.
</Card>
