Find an API

Search public APIs with auth details & Postman guides

← All APIs

AWS Marketplace Catalog Service

amazonaws · Cloud

Cloud No Auth Free & Open cloud Sandbox

Catalog API actions allow you to manage your entities through list, describe, and update capabilities. An entity can be a product or an offer on AWS Marketplace. You can automate your entity update process by integrating the AWS Marketplace Catalog API with your AWS Marketplace product build or deployment pipelines. You can also create your own applications on top of the Catalog API to manage your products on AWS Marketplace.

Authentication

No authentication requiredFree to use with no key needed.

Sample Requests

GET DescribeChangeSet

Provides information about a given change set.

https://api.apis.guru/v2/specs/amazonaws.com/marketplace-catalog/2018-09-17/DescribeChangeSet#catalog&changeSetId?catalog=example&changeSetId=example

Hover any highlighted part to learn what it does

curl -X GET "https://api.apis.guru/v2/specs/amazonaws.com/marketplace-catalog/2018-09-17/DescribeChangeSet#catalog&changeSetId?catalog=example&changeSetId=example"
import requests
params = {
    "catalog": "example",
    "changeSetId": "example"
}
response = requests.get(
    "https://api.apis.guru/v2/specs/amazonaws.com/marketplace-catalog/2018-09-17/DescribeChangeSet#catalog&changeSetId",
    params=params,
)
print(response.json())
const url = new URL('https://api.apis.guru/v2/specs/amazonaws.com/marketplace-catalog/2018-09-17/DescribeChangeSet#catalog&changeSetId');
url.searchParams.set('catalog', 'example');
url.searchParams.set('changeSetId', 'example');

const response = await fetch(url); 
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/marketplace-catalog/2018-09-17/DescribeChangeSet#catalog&changeSetId")
	q := baseURL.Query()
	q.Set("catalog", "example")
	q.Set("changeSetId", "example")
	baseURL.RawQuery = q.Encode()
	targetURL := baseURL.String()
	req, _ := http.NewRequest("GET", targetURL, nil)

	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/marketplace-catalog/2018-09-17/DescribeChangeSet#catalog&changeSetId")
uri.query = URI.encode_www_form({
  "catalog" => "example",
  "changeSetId" => "example"
})

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

req = Net::HTTP::Get.new(uri)

res = http.request(req)
puts JSON.parse(res.body)
<?php
$url = "https://api.apis.guru/v2/specs/amazonaws.com/marketplace-catalog/2018-09-17/DescribeChangeSet#catalog&changeSetId?" . http_build_query([
    "catalog" => "example",
    "changeSetId" => "example"
]);
$opts = ["http" => [
    "method" => "GET",
]];
$ctx = stream_context_create($opts);
$res = file_get_contents($url, false, $ctx);
print_r(json_decode($res, true));
GET DescribeEntity

Returns the metadata and content of the entity.

https://api.apis.guru/v2/specs/amazonaws.com/marketplace-catalog/2018-09-17/DescribeEntity#catalog&entityId?catalog=example&entityId=example

Hover any highlighted part to learn what it does

curl -X GET "https://api.apis.guru/v2/specs/amazonaws.com/marketplace-catalog/2018-09-17/DescribeEntity#catalog&entityId?catalog=example&entityId=example"
import requests
params = {
    "catalog": "example",
    "entityId": "example"
}
response = requests.get(
    "https://api.apis.guru/v2/specs/amazonaws.com/marketplace-catalog/2018-09-17/DescribeEntity#catalog&entityId",
    params=params,
)
print(response.json())
const url = new URL('https://api.apis.guru/v2/specs/amazonaws.com/marketplace-catalog/2018-09-17/DescribeEntity#catalog&entityId');
url.searchParams.set('catalog', 'example');
url.searchParams.set('entityId', 'example');

const response = await fetch(url); 
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/marketplace-catalog/2018-09-17/DescribeEntity#catalog&entityId")
	q := baseURL.Query()
	q.Set("catalog", "example")
	q.Set("entityId", "example")
	baseURL.RawQuery = q.Encode()
	targetURL := baseURL.String()
	req, _ := http.NewRequest("GET", targetURL, nil)

	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/marketplace-catalog/2018-09-17/DescribeEntity#catalog&entityId")
uri.query = URI.encode_www_form({
  "catalog" => "example",
  "entityId" => "example"
})

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

req = Net::HTTP::Get.new(uri)

res = http.request(req)
puts JSON.parse(res.body)
<?php
$url = "https://api.apis.guru/v2/specs/amazonaws.com/marketplace-catalog/2018-09-17/DescribeEntity#catalog&entityId?" . http_build_query([
    "catalog" => "example",
    "entityId" => "example"
]);
$opts = ["http" => [
    "method" => "GET",
]];
$ctx = stream_context_create($opts);
$res = file_get_contents($url, false, $ctx);
print_r(json_decode($res, true));
GET GetResourcePolicy

Gets a resource-based policy of an Entity that is identified by its resource ARN.

https://api.apis.guru/v2/specs/amazonaws.com/marketplace-catalog/2018-09-17/GetResourcePolicy#resourceArn?resourceArn=example

Hover any highlighted part to learn what it does

curl -X GET "https://api.apis.guru/v2/specs/amazonaws.com/marketplace-catalog/2018-09-17/GetResourcePolicy#resourceArn?resourceArn=example"
import requests
params = {
    "resourceArn": "example"
}
response = requests.get(
    "https://api.apis.guru/v2/specs/amazonaws.com/marketplace-catalog/2018-09-17/GetResourcePolicy#resourceArn",
    params=params,
)
print(response.json())
const url = new URL('https://api.apis.guru/v2/specs/amazonaws.com/marketplace-catalog/2018-09-17/GetResourcePolicy#resourceArn');
url.searchParams.set('resourceArn', 'example');

const response = await fetch(url); 
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/marketplace-catalog/2018-09-17/GetResourcePolicy#resourceArn")
	q := baseURL.Query()
	q.Set("resourceArn", "example")
	baseURL.RawQuery = q.Encode()
	targetURL := baseURL.String()
	req, _ := http.NewRequest("GET", targetURL, nil)

	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/marketplace-catalog/2018-09-17/GetResourcePolicy#resourceArn")
uri.query = URI.encode_www_form({
  "resourceArn" => "example"
})

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

req = Net::HTTP::Get.new(uri)

res = http.request(req)
puts JSON.parse(res.body)
<?php
$url = "https://api.apis.guru/v2/specs/amazonaws.com/marketplace-catalog/2018-09-17/GetResourcePolicy#resourceArn?" . http_build_query([
    "resourceArn" => "example"
]);
$opts = ["http" => [
    "method" => "GET",
]];
$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 Marketplace Catalog Service?

AWS Marketplace Catalog Service 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 Marketplace Catalog Service 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 ↗