ListThings - AWS IoT


Lists your things. Use the attributeName and attributeValue parameters to filter your things. For example, calling ListThings with attributeName=Color and attributeValue=Red retrieves all things in the registry that contain an attribute Color with the value Red. For more information, see List Things from the AWS IoT Core Developer Guide.

Requires permission to access the ListThings action.


You will not be charged for calling this API if an Access denied error is returned. You will also not be charged if no attributes or pagination token was provided in request and no pagination token and no results were returned.

Request Syntax

GET /things?attributeName=attributeName&attributeValue=attributeValue&maxResults=maxResults&nextToken=nextToken&thingTypeName=thingTypeName&usePrefixAttributeValue=usePrefixAttributeValue HTTP/1.1

URI Request Parameters

The request uses the following URI parameters.


The attribute name used to search for things.

Length Constraints: Maximum length of 128.

Pattern: [a-zA-Z0-9_.,@/:#-]+


The attribute value used to search for things.

Length Constraints: Maximum length of 800.

Pattern: [a-zA-Z0-9_.,@/:#-]*


The maximum number of results to return in this operation.

Valid Range: Minimum value of 1. Maximum value of 250.


To retrieve the next set of results, the nextToken value from a previous response; otherwise null to receive the first set of results.


The name of the thing type used to search for things.

Length Constraints: Minimum length of 1. Maximum length of 128.

Pattern: [a-zA-Z0-9:_-]+


When true, the action returns the thing resources with attribute values that start with the attributeValue provided.

When false, or not present, the action returns only the thing resources with attribute values that match the entire attributeValue provided.

Request Body

The request does not have a request body.

Response Syntax

HTTP/1.1 200 Content-type: application/json { "nextToken": "string", "things": [ { "attributes": { "string" : "string" }, "thingArn": "string", "thingName": "string", "thingTypeName": "string", "version": number } ] }

Response Elements

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.


The token to use to get the next set of results. Will not be returned if operation has returned all results.

Type: String


The things.

Type: Array of ThingAttribute objects



An unexpected error has occurred.

HTTP Status Code: 500


The request is not valid.

HTTP Status Code: 400


The service is temporarily unavailable.

HTTP Status Code: 503


The rate exceeds the limit.

HTTP Status Code: 400


You are not authorized to perform this operation.

HTTP Status Code: 401

See Also

For more information about using this API in one of the language-specific AWS SDKs, see the following: