Find an API

Search public APIs with auth details & Postman guides

← All APIs

Amazon Elastic Compute Cloud

amazonaws · Cloud

Cloud No Auth Free & Open cloud Sandbox

Amazon Elastic Compute Cloud Amazon Elastic Compute Cloud (Amazon EC2) provides secure and resizable computing capacity in the Amazon Web Services Cloud. Using Amazon EC2 eliminates the need to invest in hardware up front, so you can develop and deploy applications faster. Amazon Virtual Private Cloud (Amazon VPC) enables you to provision a logically isolated section of the Amazon Web Services Cloud where you can launch Amazon Web Services resources in a virtual network t

Authentication

No authentication requiredFree to use with no key needed.

Sample Requests

GET GET_AcceptAddressTransfer

Accepts an Elastic IP address transfer. For more information, see Accept a transferred Elastic IP address in the Amazon Virtual Private Cloud User Guide .

https://api.apis.guru/v2/specs/amazonaws.com/ec2/2016-11-15/#Action=AcceptAddressTransfer?Action=AcceptAddressTransfer&DryRun=true&Address=example&Version=2016-11-15&TagSpecification=example

Hover any highlighted part to learn what it does

curl -X GET "https://api.apis.guru/v2/specs/amazonaws.com/ec2/2016-11-15/#Action=AcceptAddressTransfer?Action=AcceptAddressTransfer&DryRun=true&Address=example&Version=2016-11-15&TagSpecification=example"
import requests
params = {
    "Action": "AcceptAddressTransfer",
    "DryRun": "true",
    "Address": "example",
    "Version": "2016-11-15",
    "TagSpecification": "example"
}
response = requests.get(
    "https://api.apis.guru/v2/specs/amazonaws.com/ec2/2016-11-15/#Action=AcceptAddressTransfer",
    params=params,
)
print(response.json())
const url = new URL('https://api.apis.guru/v2/specs/amazonaws.com/ec2/2016-11-15/#Action=AcceptAddressTransfer');
url.searchParams.set('Action', 'AcceptAddressTransfer');
url.searchParams.set('DryRun', 'true');
url.searchParams.set('Address', 'example');
url.searchParams.set('Version', '2016-11-15');
url.searchParams.set('TagSpecification', '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/ec2/2016-11-15/#Action=AcceptAddressTransfer")
	q := baseURL.Query()
	q.Set("Action", "AcceptAddressTransfer")
	q.Set("DryRun", "true")
	q.Set("Address", "example")
	q.Set("Version", "2016-11-15")
	q.Set("TagSpecification", "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/ec2/2016-11-15/#Action=AcceptAddressTransfer")
uri.query = URI.encode_www_form({
  "Action" => "AcceptAddressTransfer",
  "DryRun" => "true",
  "Address" => "example",
  "Version" => "2016-11-15",
  "TagSpecification" => "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/ec2/2016-11-15/#Action=AcceptAddressTransfer?" . http_build_query([
    "Action" => "AcceptAddressTransfer",
    "DryRun" => "true",
    "Address" => "example",
    "Version" => "2016-11-15",
    "TagSpecification" => "example"
]);
$opts = ["http" => [
    "method" => "GET",
]];
$ctx = stream_context_create($opts);
$res = file_get_contents($url, false, $ctx);
print_r(json_decode($res, true));
GET GET_AcceptReservedInstancesExchangeQuote

Accepts the Convertible Reserved Instance exchange quote described in the GetReservedInstancesExchangeQuote call.

https://api.apis.guru/v2/specs/amazonaws.com/ec2/2016-11-15/#Action=AcceptReservedInstancesExchangeQuote?Action=AcceptReservedInstancesExchangeQuote&DryRun=true&Version=2016-11-15&ReservedInstanceId=example&TargetConfiguration=example

Hover any highlighted part to learn what it does

curl -X GET "https://api.apis.guru/v2/specs/amazonaws.com/ec2/2016-11-15/#Action=AcceptReservedInstancesExchangeQuote?Action=AcceptReservedInstancesExchangeQuote&DryRun=true&Version=2016-11-15&ReservedInstanceId=example&TargetConfiguration=example"
import requests
params = {
    "Action": "AcceptReservedInstancesExchangeQuote",
    "DryRun": "true",
    "Version": "2016-11-15",
    "ReservedInstanceId": "example",
    "TargetConfiguration": "example"
}
response = requests.get(
    "https://api.apis.guru/v2/specs/amazonaws.com/ec2/2016-11-15/#Action=AcceptReservedInstancesExchangeQuote",
    params=params,
)
print(response.json())
const url = new URL('https://api.apis.guru/v2/specs/amazonaws.com/ec2/2016-11-15/#Action=AcceptReservedInstancesExchangeQuote');
url.searchParams.set('Action', 'AcceptReservedInstancesExchangeQuote');
url.searchParams.set('DryRun', 'true');
url.searchParams.set('Version', '2016-11-15');
url.searchParams.set('ReservedInstanceId', 'example');
url.searchParams.set('TargetConfiguration', '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/ec2/2016-11-15/#Action=AcceptReservedInstancesExchangeQuote")
	q := baseURL.Query()
	q.Set("Action", "AcceptReservedInstancesExchangeQuote")
	q.Set("DryRun", "true")
	q.Set("Version", "2016-11-15")
	q.Set("ReservedInstanceId", "example")
	q.Set("TargetConfiguration", "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/ec2/2016-11-15/#Action=AcceptReservedInstancesExchangeQuote")
uri.query = URI.encode_www_form({
  "Action" => "AcceptReservedInstancesExchangeQuote",
  "DryRun" => "true",
  "Version" => "2016-11-15",
  "ReservedInstanceId" => "example",
  "TargetConfiguration" => "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/ec2/2016-11-15/#Action=AcceptReservedInstancesExchangeQuote?" . http_build_query([
    "Action" => "AcceptReservedInstancesExchangeQuote",
    "DryRun" => "true",
    "Version" => "2016-11-15",
    "ReservedInstanceId" => "example",
    "TargetConfiguration" => "example"
]);
$opts = ["http" => [
    "method" => "GET",
]];
$ctx = stream_context_create($opts);
$res = file_get_contents($url, false, $ctx);
print_r(json_decode($res, true));
GET GET_AcceptTransitGatewayMulticastDomainAssociations

Accepts a request to associate subnets with a transit gateway multicast domain.

https://api.apis.guru/v2/specs/amazonaws.com/ec2/2016-11-15/#Action=AcceptTransitGatewayMulticastDomainAssociations?Action=AcceptTransitGatewayMulticastDomainAssociations&DryRun=true&Version=2016-11-15&SubnetIds=example&TransitGatewayAttachmentId=example&TransitGatewayMulticastDomainId=example

Hover any highlighted part to learn what it does

curl -X GET "https://api.apis.guru/v2/specs/amazonaws.com/ec2/2016-11-15/#Action=AcceptTransitGatewayMulticastDomainAssociations?Action=AcceptTransitGatewayMulticastDomainAssociations&DryRun=true&Version=2016-11-15&SubnetIds=example&TransitGatewayAttachmentId=example&TransitGatewayMulticastDomainId=example"
import requests
params = {
    "Action": "AcceptTransitGatewayMulticastDomainAssociations",
    "DryRun": "true",
    "Version": "2016-11-15",
    "SubnetIds": "example",
    "TransitGatewayAttachmentId": "example",
    "TransitGatewayMulticastDomainId": "example"
}
response = requests.get(
    "https://api.apis.guru/v2/specs/amazonaws.com/ec2/2016-11-15/#Action=AcceptTransitGatewayMulticastDomainAssociations",
    params=params,
)
print(response.json())
const url = new URL('https://api.apis.guru/v2/specs/amazonaws.com/ec2/2016-11-15/#Action=AcceptTransitGatewayMulticastDomainAssociations');
url.searchParams.set('Action', 'AcceptTransitGatewayMulticastDomainAssociations');
url.searchParams.set('DryRun', 'true');
url.searchParams.set('Version', '2016-11-15');
url.searchParams.set('SubnetIds', 'example');
url.searchParams.set('TransitGatewayAttachmentId', 'example');
url.searchParams.set('TransitGatewayMulticastDomainId', '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/ec2/2016-11-15/#Action=AcceptTransitGatewayMulticastDomainAssociations")
	q := baseURL.Query()
	q.Set("Action", "AcceptTransitGatewayMulticastDomainAssociations")
	q.Set("DryRun", "true")
	q.Set("Version", "2016-11-15")
	q.Set("SubnetIds", "example")
	q.Set("TransitGatewayAttachmentId", "example")
	q.Set("TransitGatewayMulticastDomainId", "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/ec2/2016-11-15/#Action=AcceptTransitGatewayMulticastDomainAssociations")
uri.query = URI.encode_www_form({
  "Action" => "AcceptTransitGatewayMulticastDomainAssociations",
  "DryRun" => "true",
  "Version" => "2016-11-15",
  "SubnetIds" => "example",
  "TransitGatewayAttachmentId" => "example",
  "TransitGatewayMulticastDomainId" => "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/ec2/2016-11-15/#Action=AcceptTransitGatewayMulticastDomainAssociations?" . http_build_query([
    "Action" => "AcceptTransitGatewayMulticastDomainAssociations",
    "DryRun" => "true",
    "Version" => "2016-11-15",
    "SubnetIds" => "example",
    "TransitGatewayAttachmentId" => "example",
    "TransitGatewayMulticastDomainId" => "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 Amazon Elastic Compute Cloud?

Amazon Elastic Compute Cloud 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 Compute Cloud 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 ↗