Find an API

Search public APIs with auth details & Postman guides

← All APIs

Amazon EC2 Container Registry

amazonaws · Cloud

Cloud No Auth Free & Open cloud Sandbox

Amazon Elastic Container Registry Amazon Elastic Container Registry (Amazon ECR) is a managed container image registry service. Customers can use the familiar Docker CLI, or their 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 private repositories with resource-based permissions using IAM so that specific users or Amazon EC2 ins

Authentication

No authentication requiredFree to use with no key needed.

Sample Requests

POST DescribeImageScanFindings

Returns the scan findings for the specified image.

https://api.apis.guru/v2/specs/amazonaws.com/ecr/2015-09-21/#X-Amz-Target=AmazonEC2ContainerRegistry_V20150921.DescribeImageScanFindings?nextToken=example&maxResults=example

Hover any highlighted part to learn what it does

Headers — extra info sent with the request
X-Amz-Target AmazonEC2ContainerRegistry_V20150921.DescribeImageScanFindings
curl -X POST "https://api.apis.guru/v2/specs/amazonaws.com/ecr/2015-09-21/#X-Amz-Target=AmazonEC2ContainerRegistry_V20150921.DescribeImageScanFindings?nextToken=example&maxResults=example" \
  -H "X-Amz-Target: AmazonEC2ContainerRegistry_V20150921.DescribeImageScanFindings"
import requests
params = {
    "nextToken": "example",
    "maxResults": "example"
}
headers = {
    "X-Amz-Target": "AmazonEC2ContainerRegistry_V20150921.DescribeImageScanFindings"
}
response = requests.post(
    "https://api.apis.guru/v2/specs/amazonaws.com/ecr/2015-09-21/#X-Amz-Target=AmazonEC2ContainerRegistry_V20150921.DescribeImageScanFindings",
    params=params,
    headers=headers,
)
print(response.json())
const url = new URL('https://api.apis.guru/v2/specs/amazonaws.com/ecr/2015-09-21/#X-Amz-Target=AmazonEC2ContainerRegistry_V20150921.DescribeImageScanFindings');
url.searchParams.set('nextToken', 'example');
url.searchParams.set('maxResults', 'example');

const response = await fetch(url, {
  method: 'POST',
  headers: {
    'X-Amz-Target': 'AmazonEC2ContainerRegistry_V20150921.DescribeImageScanFindings'
  },
}); 
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/2015-09-21/#X-Amz-Target=AmazonEC2ContainerRegistry_V20150921.DescribeImageScanFindings")
	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", "AmazonEC2ContainerRegistry_V20150921.DescribeImageScanFindings")

	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/2015-09-21/#X-Amz-Target=AmazonEC2ContainerRegistry_V20150921.DescribeImageScanFindings")
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"] = "AmazonEC2ContainerRegistry_V20150921.DescribeImageScanFindings"

res = http.request(req)
puts JSON.parse(res.body)
<?php
$url = "https://api.apis.guru/v2/specs/amazonaws.com/ecr/2015-09-21/#X-Amz-Target=AmazonEC2ContainerRegistry_V20150921.DescribeImageScanFindings?" . http_build_query([
    "nextToken" => "example",
    "maxResults" => "example"
]);
$opts = ["http" => [
    "method" => "POST",
    "header" => implode("\r\n", [
        "X-Amz-Target: AmazonEC2ContainerRegistry_V20150921.DescribeImageScanFindings"
    ]),
]];
$ctx = stream_context_create($opts);
$res = file_get_contents($url, false, $ctx);
print_r(json_decode($res, true));
POST DescribeImages

Returns metadata about the images in a repository. 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 image size, so it may return a lar

https://api.apis.guru/v2/specs/amazonaws.com/ecr/2015-09-21/#X-Amz-Target=AmazonEC2ContainerRegistry_V20150921.DescribeImages?nextToken=example&maxResults=example

Hover any highlighted part to learn what it does

Headers — extra info sent with the request
X-Amz-Target AmazonEC2ContainerRegistry_V20150921.DescribeImages
curl -X POST "https://api.apis.guru/v2/specs/amazonaws.com/ecr/2015-09-21/#X-Amz-Target=AmazonEC2ContainerRegistry_V20150921.DescribeImages?nextToken=example&maxResults=example" \
  -H "X-Amz-Target: AmazonEC2ContainerRegistry_V20150921.DescribeImages"
import requests
params = {
    "nextToken": "example",
    "maxResults": "example"
}
headers = {
    "X-Amz-Target": "AmazonEC2ContainerRegistry_V20150921.DescribeImages"
}
response = requests.post(
    "https://api.apis.guru/v2/specs/amazonaws.com/ecr/2015-09-21/#X-Amz-Target=AmazonEC2ContainerRegistry_V20150921.DescribeImages",
    params=params,
    headers=headers,
)
print(response.json())
const url = new URL('https://api.apis.guru/v2/specs/amazonaws.com/ecr/2015-09-21/#X-Amz-Target=AmazonEC2ContainerRegistry_V20150921.DescribeImages');
url.searchParams.set('nextToken', 'example');
url.searchParams.set('maxResults', 'example');

const response = await fetch(url, {
  method: 'POST',
  headers: {
    'X-Amz-Target': 'AmazonEC2ContainerRegistry_V20150921.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/2015-09-21/#X-Amz-Target=AmazonEC2ContainerRegistry_V20150921.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", "AmazonEC2ContainerRegistry_V20150921.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/2015-09-21/#X-Amz-Target=AmazonEC2ContainerRegistry_V20150921.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"] = "AmazonEC2ContainerRegistry_V20150921.DescribeImages"

res = http.request(req)
puts JSON.parse(res.body)
<?php
$url = "https://api.apis.guru/v2/specs/amazonaws.com/ecr/2015-09-21/#X-Amz-Target=AmazonEC2ContainerRegistry_V20150921.DescribeImages?" . http_build_query([
    "nextToken" => "example",
    "maxResults" => "example"
]);
$opts = ["http" => [
    "method" => "POST",
    "header" => implode("\r\n", [
        "X-Amz-Target: AmazonEC2ContainerRegistry_V20150921.DescribeImages"
    ]),
]];
$ctx = stream_context_create($opts);
$res = file_get_contents($url, false, $ctx);
print_r(json_decode($res, true));
POST DescribePullThroughCacheRules

Returns the pull through cache rules for a registry.

https://api.apis.guru/v2/specs/amazonaws.com/ecr/2015-09-21/#X-Amz-Target=AmazonEC2ContainerRegistry_V20150921.DescribePullThroughCacheRules?nextToken=example&maxResults=example

Hover any highlighted part to learn what it does

Headers — extra info sent with the request
X-Amz-Target AmazonEC2ContainerRegistry_V20150921.DescribePullThroughCacheRules
curl -X POST "https://api.apis.guru/v2/specs/amazonaws.com/ecr/2015-09-21/#X-Amz-Target=AmazonEC2ContainerRegistry_V20150921.DescribePullThroughCacheRules?nextToken=example&maxResults=example" \
  -H "X-Amz-Target: AmazonEC2ContainerRegistry_V20150921.DescribePullThroughCacheRules"
import requests
params = {
    "nextToken": "example",
    "maxResults": "example"
}
headers = {
    "X-Amz-Target": "AmazonEC2ContainerRegistry_V20150921.DescribePullThroughCacheRules"
}
response = requests.post(
    "https://api.apis.guru/v2/specs/amazonaws.com/ecr/2015-09-21/#X-Amz-Target=AmazonEC2ContainerRegistry_V20150921.DescribePullThroughCacheRules",
    params=params,
    headers=headers,
)
print(response.json())
const url = new URL('https://api.apis.guru/v2/specs/amazonaws.com/ecr/2015-09-21/#X-Amz-Target=AmazonEC2ContainerRegistry_V20150921.DescribePullThroughCacheRules');
url.searchParams.set('nextToken', 'example');
url.searchParams.set('maxResults', 'example');

const response = await fetch(url, {
  method: 'POST',
  headers: {
    'X-Amz-Target': 'AmazonEC2ContainerRegistry_V20150921.DescribePullThroughCacheRules'
  },
}); 
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/2015-09-21/#X-Amz-Target=AmazonEC2ContainerRegistry_V20150921.DescribePullThroughCacheRules")
	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", "AmazonEC2ContainerRegistry_V20150921.DescribePullThroughCacheRules")

	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/2015-09-21/#X-Amz-Target=AmazonEC2ContainerRegistry_V20150921.DescribePullThroughCacheRules")
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"] = "AmazonEC2ContainerRegistry_V20150921.DescribePullThroughCacheRules"

res = http.request(req)
puts JSON.parse(res.body)
<?php
$url = "https://api.apis.guru/v2/specs/amazonaws.com/ecr/2015-09-21/#X-Amz-Target=AmazonEC2ContainerRegistry_V20150921.DescribePullThroughCacheRules?" . http_build_query([
    "nextToken" => "example",
    "maxResults" => "example"
]);
$opts = ["http" => [
    "method" => "POST",
    "header" => implode("\r\n", [
        "X-Amz-Target: AmazonEC2ContainerRegistry_V20150921.DescribePullThroughCacheRules"
    ]),
]];
$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 Amazon EC2 Container Registry?

Amazon EC2 Container Registry 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 EC2 Container Registry 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?

Open documentation ↗