Amazon Elastic Container Registry Public
amazonaws · Cloud
Amazon Elastic Container Registry Public Amazon Elastic Container Registry Public (Amazon ECR Public) is a managed container image registry service. Amazon ECR provides both public and private registries to host your container images. You can use the Docker CLI or your preferred client to push, pull, and manage images. Amazon ECR provides a secure, scalable, and reliable registry for your Docker or Open Container Initiative (OCI) images. Amazon ECR supports public reposit
Authentication
Sample Requests
Returns the image tag details for a repository in a public registry.
Hover any highlighted part to learn what it does
| X-Amz-Target | SpencerFrontendService.DescribeImageTags |
curl -X POST "https://api.apis.guru/v2/specs/amazonaws.com/ecr-public/2020-10-30/#X-Amz-Target=SpencerFrontendService.DescribeImageTags?nextToken=example&maxResults=example" \ -H "X-Amz-Target: SpencerFrontendService.DescribeImageTags"
import requests
params = {
"nextToken": "example",
"maxResults": "example"
}
headers = {
"X-Amz-Target": "SpencerFrontendService.DescribeImageTags"
}
response = requests.post(
"https://api.apis.guru/v2/specs/amazonaws.com/ecr-public/2020-10-30/#X-Amz-Target=SpencerFrontendService.DescribeImageTags",
params=params,
headers=headers,
)
print(response.json())const url = new URL('https://api.apis.guru/v2/specs/amazonaws.com/ecr-public/2020-10-30/#X-Amz-Target=SpencerFrontendService.DescribeImageTags');
url.searchParams.set('nextToken', 'example');
url.searchParams.set('maxResults', 'example');
const response = await fetch(url, {
method: 'POST',
headers: {
'X-Amz-Target': 'SpencerFrontendService.DescribeImageTags'
},
});
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/ecr-public/2020-10-30/#X-Amz-Target=SpencerFrontendService.DescribeImageTags")
q := baseURL.Query()
q.Set("nextToken", "example")
q.Set("maxResults", "example")
baseURL.RawQuery = q.Encode()
targetURL := baseURL.String()
req, _ := http.NewRequest("POST", targetURL, nil)
req.Header.Set("X-Amz-Target", "SpencerFrontendService.DescribeImageTags")
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/ecr-public/2020-10-30/#X-Amz-Target=SpencerFrontendService.DescribeImageTags")
uri.query = URI.encode_www_form({
"nextToken" => "example",
"maxResults" => "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"] = "SpencerFrontendService.DescribeImageTags"
res = http.request(req)
puts JSON.parse(res.body)<?php
$url = "https://api.apis.guru/v2/specs/amazonaws.com/ecr-public/2020-10-30/#X-Amz-Target=SpencerFrontendService.DescribeImageTags?" . http_build_query([
"nextToken" => "example",
"maxResults" => "example"
]);
$opts = ["http" => [
"method" => "POST",
"header" => implode("\r\n", [
"X-Amz-Target: SpencerFrontendService.DescribeImageTags"
]),
]];
$ctx = stream_context_create($opts);
$res = file_get_contents($url, false, $ctx);
print_r(json_decode($res, true));Returns metadata that's related to the images in a repository in a public registry. Beginning with Docker version 1.9, the Docker client compresses image layers before pushing them to a V2 Docker registry. The output of the docker images command shows the uncompressed i
Hover any highlighted part to learn what it does
| X-Amz-Target | SpencerFrontendService.DescribeImages |
curl -X POST "https://api.apis.guru/v2/specs/amazonaws.com/ecr-public/2020-10-30/#X-Amz-Target=SpencerFrontendService.DescribeImages?nextToken=example&maxResults=example" \ -H "X-Amz-Target: SpencerFrontendService.DescribeImages"
import requests
params = {
"nextToken": "example",
"maxResults": "example"
}
headers = {
"X-Amz-Target": "SpencerFrontendService.DescribeImages"
}
response = requests.post(
"https://api.apis.guru/v2/specs/amazonaws.com/ecr-public/2020-10-30/#X-Amz-Target=SpencerFrontendService.DescribeImages",
params=params,
headers=headers,
)
print(response.json())const url = new URL('https://api.apis.guru/v2/specs/amazonaws.com/ecr-public/2020-10-30/#X-Amz-Target=SpencerFrontendService.DescribeImages');
url.searchParams.set('nextToken', 'example');
url.searchParams.set('maxResults', 'example');
const response = await fetch(url, {
method: 'POST',
headers: {
'X-Amz-Target': 'SpencerFrontendService.DescribeImages'
},
});
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/ecr-public/2020-10-30/#X-Amz-Target=SpencerFrontendService.DescribeImages")
q := baseURL.Query()
q.Set("nextToken", "example")
q.Set("maxResults", "example")
baseURL.RawQuery = q.Encode()
targetURL := baseURL.String()
req, _ := http.NewRequest("POST", targetURL, nil)
req.Header.Set("X-Amz-Target", "SpencerFrontendService.DescribeImages")
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/ecr-public/2020-10-30/#X-Amz-Target=SpencerFrontendService.DescribeImages")
uri.query = URI.encode_www_form({
"nextToken" => "example",
"maxResults" => "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"] = "SpencerFrontendService.DescribeImages"
res = http.request(req)
puts JSON.parse(res.body)<?php
$url = "https://api.apis.guru/v2/specs/amazonaws.com/ecr-public/2020-10-30/#X-Amz-Target=SpencerFrontendService.DescribeImages?" . http_build_query([
"nextToken" => "example",
"maxResults" => "example"
]);
$opts = ["http" => [
"method" => "POST",
"header" => implode("\r\n", [
"X-Amz-Target: SpencerFrontendService.DescribeImages"
]),
]];
$ctx = stream_context_create($opts);
$res = file_get_contents($url, false, $ctx);
print_r(json_decode($res, true));Returns details for a public registry.
Hover any highlighted part to learn what it does
| X-Amz-Target | SpencerFrontendService.DescribeRegistries |
curl -X POST "https://api.apis.guru/v2/specs/amazonaws.com/ecr-public/2020-10-30/#X-Amz-Target=SpencerFrontendService.DescribeRegistries?nextToken=example&maxResults=example" \ -H "X-Amz-Target: SpencerFrontendService.DescribeRegistries"
import requests
params = {
"nextToken": "example",
"maxResults": "example"
}
headers = {
"X-Amz-Target": "SpencerFrontendService.DescribeRegistries"
}
response = requests.post(
"https://api.apis.guru/v2/specs/amazonaws.com/ecr-public/2020-10-30/#X-Amz-Target=SpencerFrontendService.DescribeRegistries",
params=params,
headers=headers,
)
print(response.json())const url = new URL('https://api.apis.guru/v2/specs/amazonaws.com/ecr-public/2020-10-30/#X-Amz-Target=SpencerFrontendService.DescribeRegistries');
url.searchParams.set('nextToken', 'example');
url.searchParams.set('maxResults', 'example');
const response = await fetch(url, {
method: 'POST',
headers: {
'X-Amz-Target': 'SpencerFrontendService.DescribeRegistries'
},
});
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/ecr-public/2020-10-30/#X-Amz-Target=SpencerFrontendService.DescribeRegistries")
q := baseURL.Query()
q.Set("nextToken", "example")
q.Set("maxResults", "example")
baseURL.RawQuery = q.Encode()
targetURL := baseURL.String()
req, _ := http.NewRequest("POST", targetURL, nil)
req.Header.Set("X-Amz-Target", "SpencerFrontendService.DescribeRegistries")
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/ecr-public/2020-10-30/#X-Amz-Target=SpencerFrontendService.DescribeRegistries")
uri.query = URI.encode_www_form({
"nextToken" => "example",
"maxResults" => "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"] = "SpencerFrontendService.DescribeRegistries"
res = http.request(req)
puts JSON.parse(res.body)<?php
$url = "https://api.apis.guru/v2/specs/amazonaws.com/ecr-public/2020-10-30/#X-Amz-Target=SpencerFrontendService.DescribeRegistries?" . http_build_query([
"nextToken" => "example",
"maxResults" => "example"
]);
$opts = ["http" => [
"method" => "POST",
"header" => implode("\r\n", [
"X-Amz-Target: SpencerFrontendService.DescribeRegistries"
]),
]];
$ctx = stream_context_create($opts);
$res = file_get_contents($url, false, $ctx);
print_r(json_decode($res, true));Postman Setup Guide
- See official documentation for authentication and setup.
What can you build with Amazon Elastic Container Registry Public?
Amazon Elastic Container Registry Public 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. Amazon Elastic Container Registry Public is free to use, making it a low-risk choice to experiment with.
New to APIs? Read our beginner's guide · Learn about API keys · What is REST?