---
schema_version: "1"
id: dee8524c9955f7123b81f16a1d8fe7930f605737a9292f0020fb4b1968107668
title: Get Records Using sObject Rows
collection: developer
version: current
locale: en-us
portal_url: https://docs.salesforce.com/developer/current/en-us/platform/api-rest/guides/resources/resources-sobject-retrieve-get.md
canonical_url: https://developer.salesforce.com/docs/platform/api-rest/guide/resources-sobject-retrieve-get.html
source_site: developer.salesforce.com
content_type: documentation
content_hash: a18fc0e1b04d6f5bd2f41bc929a145592a44fd739780979903e7efcf6d21e7ba
products:
  - REST API Developer Guide
  - Platform Developer Content
---

# Get Records Using sObject Rows

Gets a record based on the specified object and record ID. The fields and field values of the record are returned in the response body. This resource can be used with external objects in API version 32.0 and later.

External objects that are associated with non-high-data-volume external data sources use the 18-character Salesforce ID for the id. Otherwise, external objects use the External ID standard field of the external object for the id.

For information about the items in the response body, see [DescribeSObjectResult](https://developer.salesforce.com/docs/atlas.en-us.api.meta/api/sforce_api_calls_describesobjects_describesobjectresult.htm) in the *SOAP API Developer’s Guide*.

If the object is an Account object, the response also contains an ETag header. For example: `ETag: "ddpAdaTHz+GcV35e7NLJ9iKD3XXVqAzXT1Sl2ykkP7g=--gzip"` This ETag can be used with the `If-Match` and `If-None-Match` headers. For more information, see [Conditional Request Headers](https://developer.salesforce.com/docs/platform/api-rest/intro/intro-rest-conditional-requests.md).

## Syntax

**URI:** `/services/data/vXX.X/sobjects/sObject/id/`

**Formats:** JSON, XML

**HTTP Method:** GET

**Authentication:** `Authorization: Bearer token`

**Parameters**

|Parameter|Description|
|---------|-----------|
|`sObject`|The name of the object. For example, `Account`.|
|`id`|The identifier of the object. For example, `001R0000005hDFYIA2`.|
|`fields`|A comma-delimited list of fields specifying the fields and values returned in the response body. For example, `?fields=name,description,numberofemployees,industry`.|
|`If-Match`|An optional header specifying a comma-delimited list of one or more ETags. This only has an effect when used with Account objects. The request is only processed if the Account’s ETag matches one of the ETags in the list. For example: `If-Match: "94C83JSreaVMGpL+lUzv8Dr3inI0kCvuKATVJcTuApA=--gzip", "ddpAdaTHz+GcV35e7NLJ9iKD3XXVqAzXT1Sl2ykkP7g=--gzip"`.|
|`If-None-Match`|An optional header specifying a comma-delimited list of one or more ETags. This only has an effect when used with Account objects. The request is only processed if the Account’s ETag does not match one of the ETags in the list. For example: `If-None-Match: "94C83JSreaVMGpL+lUzv8Dr3inI0kCvuKATVJcTuApA=--gzip", "ddpAdaTHz+GcV35e7NLJ9iKD3XXVqAzXT1Sl2ykkP7g=--gzip"`.|
|`If-Modified-Since`|An optional header specifying a date and time. The request returns records that have been modified after that date and time. The format is `EEE, dd MMM yyyy HH:mm:ss z`. For example: `If-Modified-Since: Mon, 30 Nov 2020 08:34:54 MST`.|
|`If-Unmodified-Since`|An optional header specifying a date and time. The request returns records that have not been modified after that date and time. The format is `EEE, dd MMM yyyy HH:mm:ss z`. For example: `If-Unmodified-Since: Mon, 30 Nov 2020 08:34:54 MST`.|

## Example

For examples of retrieving records, see [Get Field Values from a Standard Object Record](https://developer.salesforce.com/docs/platform/api-rest/do-me/dome-get-field-values.md).

**See Also**  


-   [Object Reference for the Salesforce Platform](https://developer.salesforce.com/docs/atlas.en-us.object_reference.meta/object_reference/)

