Find an API

Search public APIs with auth details & Postman guides

← All APIs

AWS Resource Groups Tagging API

amazonaws · Cloud

Cloud No Auth Free & Open cloud Sandbox

Resource Groups Tagging API

Authentication

No authentication requiredFree to use with no key needed.

Sample Requests

POST GetComplianceSummary

Returns a table that shows counts of resources that are noncompliant with their tag policies. For more information on tag policies, see Tag Policies in the Organizations User

https://api.apis.guru/v2/specs/amazonaws.com/resourcegroupstaggingapi/2017-01-26/#X-Amz-Target=ResourceGroupsTaggingAPI_20170126.GetComplianceSummary?MaxResults=example&PaginationToken=example

Hover any highlighted part to learn what it does

Headers — extra info sent with the request
X-Amz-Target ResourceGroupsTaggingAPI_20170126.GetComplianceSummary
curl -X POST "https://api.apis.guru/v2/specs/amazonaws.com/resourcegroupstaggingapi/2017-01-26/#X-Amz-Target=ResourceGroupsTaggingAPI_20170126.GetComplianceSummary?MaxResults=example&PaginationToken=example" \
  -H "X-Amz-Target: ResourceGroupsTaggingAPI_20170126.GetComplianceSummary"
import requests
params = {
    "MaxResults": "example",
    "PaginationToken": "example"
}
headers = {
    "X-Amz-Target": "ResourceGroupsTaggingAPI_20170126.GetComplianceSummary"
}
response = requests.post(
    "https://api.apis.guru/v2/specs/amazonaws.com/resourcegroupstaggingapi/2017-01-26/#X-Amz-Target=ResourceGroupsTaggingAPI_20170126.GetComplianceSummary",
    params=params,
    headers=headers,
)
print(response.json())
const url = new URL('https://api.apis.guru/v2/specs/amazonaws.com/resourcegroupstaggingapi/2017-01-26/#X-Amz-Target=ResourceGroupsTaggingAPI_20170126.GetComplianceSummary');
url.searchParams.set('MaxResults', 'example');
url.searchParams.set('PaginationToken', 'example');

const response = await fetch(url, {
  method: 'POST',
  headers: {
    'X-Amz-Target': 'ResourceGroupsTaggingAPI_20170126.GetComplianceSummary'
  },
}); 
const data = await response.json();
console.log(data);
package main

import (
	"fmt"
	"io"
	"net/http"
	"net/url"
)

func main() {
	baseURL, _ := url.Parse("https://api.apis.guru/v2/specs/amazonaws.com/resourcegroupstaggingapi/2017-01-26/#X-Amz-Target=ResourceGroupsTaggingAPI_20170126.GetComplianceSummary")
	q := baseURL.Query()
	q.Set("MaxResults", "example")
	q.Set("PaginationToken", "example")
	baseURL.RawQuery = q.Encode()
	targetURL := baseURL.String()
	req, _ := http.NewRequest("POST", targetURL, nil)
	req.Header.Set("X-Amz-Target", "ResourceGroupsTaggingAPI_20170126.GetComplianceSummary")

	client := &http.Client{}
	resp, _ := client.Do(req)
	defer resp.Body.Close()
	body, _ := io.ReadAll(resp.Body)
	fmt.Println(string(body))
}
require "net/http"
require "json"

uri = URI("https://api.apis.guru/v2/specs/amazonaws.com/resourcegroupstaggingapi/2017-01-26/#X-Amz-Target=ResourceGroupsTaggingAPI_20170126.GetComplianceSummary")
uri.query = URI.encode_www_form({
  "MaxResults" => "example",
  "PaginationToken" => "example"
})

http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = uri.scheme == "https"

req = Net::HTTP::Post.new(uri)
req["X-Amz-Target"] = "ResourceGroupsTaggingAPI_20170126.GetComplianceSummary"

res = http.request(req)
puts JSON.parse(res.body)
<?php
$url = "https://api.apis.guru/v2/specs/amazonaws.com/resourcegroupstaggingapi/2017-01-26/#X-Amz-Target=ResourceGroupsTaggingAPI_20170126.GetComplianceSummary?" . http_build_query([
    "MaxResults" => "example",
    "PaginationToken" => "example"
]);
$opts = ["http" => [
    "method" => "POST",
    "header" => implode("\r\n", [
        "X-Amz-Target: ResourceGroupsTaggingAPI_20170126.GetComplianceSummary"
    ]),
]];
$ctx = stream_context_create($opts);
$res = file_get_contents($url, false, $ctx);
print_r(json_decode($res, true));
POST GetResources

Returns all the tagged or previously tagged resources that are located in the specified Amazon Web Services Region for the account. Depending on what information you want returned, you can also specify the following: Filters that specify what tags and resource type

https://api.apis.guru/v2/specs/amazonaws.com/resourcegroupstaggingapi/2017-01-26/#X-Amz-Target=ResourceGroupsTaggingAPI_20170126.GetResources?PaginationToken=example&ResourcesPerPage=example

Hover any highlighted part to learn what it does

Headers — extra info sent with the request
X-Amz-Target ResourceGroupsTaggingAPI_20170126.GetResources
curl -X POST "https://api.apis.guru/v2/specs/amazonaws.com/resourcegroupstaggingapi/2017-01-26/#X-Amz-Target=ResourceGroupsTaggingAPI_20170126.GetResources?PaginationToken=example&ResourcesPerPage=example" \
  -H "X-Amz-Target: ResourceGroupsTaggingAPI_20170126.GetResources"
import requests
params = {
    "PaginationToken": "example",
    "ResourcesPerPage": "example"
}
headers = {
    "X-Amz-Target": "ResourceGroupsTaggingAPI_20170126.GetResources"
}
response = requests.post(
    "https://api.apis.guru/v2/specs/amazonaws.com/resourcegroupstaggingapi/2017-01-26/#X-Amz-Target=ResourceGroupsTaggingAPI_20170126.GetResources",
    params=params,
    headers=headers,
)
print(response.json())
const url = new URL('https://api.apis.guru/v2/specs/amazonaws.com/resourcegroupstaggingapi/2017-01-26/#X-Amz-Target=ResourceGroupsTaggingAPI_20170126.GetResources');
url.searchParams.set('PaginationToken', 'example');
url.searchParams.set('ResourcesPerPage', 'example');

const response = await fetch(url, {
  method: 'POST',
  headers: {
    'X-Amz-Target': 'ResourceGroupsTaggingAPI_20170126.GetResources'
  },
}); 
const data = await response.json();
console.log(data);
package main

import (
	"fmt"
	"io"
	"net/http"
	"net/url"
)

func main() {
	baseURL, _ := url.Parse("https://api.apis.guru/v2/specs/amazonaws.com/resourcegroupstaggingapi/2017-01-26/#X-Amz-Target=ResourceGroupsTaggingAPI_20170126.GetResources")
	q := baseURL.Query()
	q.Set("PaginationToken", "example")
	q.Set("ResourcesPerPage", "example")
	baseURL.RawQuery = q.Encode()
	targetURL := baseURL.String()
	req, _ := http.NewRequest("POST", targetURL, nil)
	req.Header.Set("X-Amz-Target", "ResourceGroupsTaggingAPI_20170126.GetResources")

	client := &http.Client{}
	resp, _ := client.Do(req)
	defer resp.Body.Close()
	body, _ := io.ReadAll(resp.Body)
	fmt.Println(string(body))
}
require "net/http"
require "json"

uri = URI("https://api.apis.guru/v2/specs/amazonaws.com/resourcegroupstaggingapi/2017-01-26/#X-Amz-Target=ResourceGroupsTaggingAPI_20170126.GetResources")
uri.query = URI.encode_www_form({
  "PaginationToken" => "example",
  "ResourcesPerPage" => "example"
})

http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = uri.scheme == "https"

req = Net::HTTP::Post.new(uri)
req["X-Amz-Target"] = "ResourceGroupsTaggingAPI_20170126.GetResources"

res = http.request(req)
puts JSON.parse(res.body)
<?php
$url = "https://api.apis.guru/v2/specs/amazonaws.com/resourcegroupstaggingapi/2017-01-26/#X-Amz-Target=ResourceGroupsTaggingAPI_20170126.GetResources?" . http_build_query([
    "PaginationToken" => "example",
    "ResourcesPerPage" => "example"
]);
$opts = ["http" => [
    "method" => "POST",
    "header" => implode("\r\n", [
        "X-Amz-Target: ResourceGroupsTaggingAPI_20170126.GetResources"
    ]),
]];
$ctx = stream_context_create($opts);
$res = file_get_contents($url, false, $ctx);
print_r(json_decode($res, true));
POST GetTagKeys

Returns all tag keys currently in use in the specified Amazon Web Services Region for the calling account. This operation supports pagination, where the response can be sent in multiple pages. You should check the PaginationToken response parameter to determine if there are ad

https://api.apis.guru/v2/specs/amazonaws.com/resourcegroupstaggingapi/2017-01-26/#X-Amz-Target=ResourceGroupsTaggingAPI_20170126.GetTagKeys?PaginationToken=example

Hover any highlighted part to learn what it does

Headers — extra info sent with the request
X-Amz-Target ResourceGroupsTaggingAPI_20170126.GetTagKeys
curl -X POST "https://api.apis.guru/v2/specs/amazonaws.com/resourcegroupstaggingapi/2017-01-26/#X-Amz-Target=ResourceGroupsTaggingAPI_20170126.GetTagKeys?PaginationToken=example" \
  -H "X-Amz-Target: ResourceGroupsTaggingAPI_20170126.GetTagKeys"
import requests
params = {
    "PaginationToken": "example"
}
headers = {
    "X-Amz-Target": "ResourceGroupsTaggingAPI_20170126.GetTagKeys"
}
response = requests.post(
    "https://api.apis.guru/v2/specs/amazonaws.com/resourcegroupstaggingapi/2017-01-26/#X-Amz-Target=ResourceGroupsTaggingAPI_20170126.GetTagKeys",
    params=params,
    headers=headers,
)
print(response.json())
const url = new URL('https://api.apis.guru/v2/specs/amazonaws.com/resourcegroupstaggingapi/2017-01-26/#X-Amz-Target=ResourceGroupsTaggingAPI_20170126.GetTagKeys');
url.searchParams.set('PaginationToken', 'example');

const response = await fetch(url, {
  method: 'POST',
  headers: {
    'X-Amz-Target': 'ResourceGroupsTaggingAPI_20170126.GetTagKeys'
  },
}); 
const data = await response.json();
console.log(data);
package main

import (
	"fmt"
	"io"
	"net/http"
	"net/url"
)

func main() {
	baseURL, _ := url.Parse("https://api.apis.guru/v2/specs/amazonaws.com/resourcegroupstaggingapi/2017-01-26/#X-Amz-Target=ResourceGroupsTaggingAPI_20170126.GetTagKeys")
	q := baseURL.Query()
	q.Set("PaginationToken", "example")
	baseURL.RawQuery = q.Encode()
	targetURL := baseURL.String()
	req, _ := http.NewRequest("POST", targetURL, nil)
	req.Header.Set("X-Amz-Target", "ResourceGroupsTaggingAPI_20170126.GetTagKeys")

	client := &http.Client{}
	resp, _ := client.Do(req)
	defer resp.Body.Close()
	body, _ := io.ReadAll(resp.Body)
	fmt.Println(string(body))
}
require "net/http"
require "json"

uri = URI("https://api.apis.guru/v2/specs/amazonaws.com/resourcegroupstaggingapi/2017-01-26/#X-Amz-Target=ResourceGroupsTaggingAPI_20170126.GetTagKeys")
uri.query = URI.encode_www_form({
  "PaginationToken" => "example"
})

http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = uri.scheme == "https"

req = Net::HTTP::Post.new(uri)
req["X-Amz-Target"] = "ResourceGroupsTaggingAPI_20170126.GetTagKeys"

res = http.request(req)
puts JSON.parse(res.body)
<?php
$url = "https://api.apis.guru/v2/specs/amazonaws.com/resourcegroupstaggingapi/2017-01-26/#X-Amz-Target=ResourceGroupsTaggingAPI_20170126.GetTagKeys?" . http_build_query([
    "PaginationToken" => "example"
]);
$opts = ["http" => [
    "method" => "POST",
    "header" => implode("\r\n", [
        "X-Amz-Target: ResourceGroupsTaggingAPI_20170126.GetTagKeys"
    ]),
]];
$ctx = stream_context_create($opts);
$res = file_get_contents($url, false, $ctx);
print_r(json_decode($res, true));

Postman Setup Guide

Get Postman ↗
  1. See official documentation for authentication and setup.

What can you build with AWS Resource Groups Tagging API?

AWS Resource Groups Tagging API is a Cloud API. Developers commonly use cloud APIs for:

  • provisioning and managing cloud infrastructure
  • automating deployments and container orchestration
  • monitoring uptime and performance metrics
  • managing storage buckets and databases
  • setting up auto-scaling and load balancing

No authentication required. This API is open — no signup or key needed. Ideal for quick prototypes and public-facing features. AWS Resource Groups Tagging API is free to use, making it a low-risk choice to experiment with.

New to APIs? Read our beginner's guide

Open documentation ↗