Find an API

Search public APIs with auth details & Postman guides

← All APIs

AWS EC2 Instance Connect

amazonaws · Cloud

Cloud No Auth Free & Open cloud

Amazon EC2 Instance Connect enables system administrators to publish one-time use SSH public keys to EC2, providing users a simple and secure way to connect to their instances.

Authentication

No authentication requiredFree to use with no key needed.

Sample Requests

POST SendSSHPublicKey

Pushes an SSH public key to the specified EC2 instance for use by the specified user. The key remains for 60 seconds. For more information, see Connect to your Linux instance using EC2 Instance Conn

https://api.apis.guru/v2/specs/amazonaws.com/ec2-instance-connect/2018-04-02/#X-Amz-Target=AWSEC2InstanceConnectService.SendSSHPublicKey

Hover any highlighted part to learn what it does

Headers — extra info sent with the request
X-Amz-Target AWSEC2InstanceConnectService.SendSSHPublicKey
curl -X POST "https://api.apis.guru/v2/specs/amazonaws.com/ec2-instance-connect/2018-04-02/#X-Amz-Target=AWSEC2InstanceConnectService.SendSSHPublicKey" \
  -H "X-Amz-Target: AWSEC2InstanceConnectService.SendSSHPublicKey"
import requests
headers = {
    "X-Amz-Target": "AWSEC2InstanceConnectService.SendSSHPublicKey"
}
response = requests.post(
    "https://api.apis.guru/v2/specs/amazonaws.com/ec2-instance-connect/2018-04-02/#X-Amz-Target=AWSEC2InstanceConnectService.SendSSHPublicKey",
    headers=headers,
)
print(response.json())
const url = 'https://api.apis.guru/v2/specs/amazonaws.com/ec2-instance-connect/2018-04-02/#X-Amz-Target=AWSEC2InstanceConnectService.SendSSHPublicKey';

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

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

func main() {
	targetURL := "https://api.apis.guru/v2/specs/amazonaws.com/ec2-instance-connect/2018-04-02/#X-Amz-Target=AWSEC2InstanceConnectService.SendSSHPublicKey"
	req, _ := http.NewRequest("POST", targetURL, nil)
	req.Header.Set("X-Amz-Target", "AWSEC2InstanceConnectService.SendSSHPublicKey")

	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-instance-connect/2018-04-02/#X-Amz-Target=AWSEC2InstanceConnectService.SendSSHPublicKey")

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

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

res = http.request(req)
puts JSON.parse(res.body)
<?php
$url = "https://api.apis.guru/v2/specs/amazonaws.com/ec2-instance-connect/2018-04-02/#X-Amz-Target=AWSEC2InstanceConnectService.SendSSHPublicKey";
$opts = ["http" => [
    "method" => "POST",
    "header" => implode("\r\n", [
        "X-Amz-Target: AWSEC2InstanceConnectService.SendSSHPublicKey"
    ]),
]];
$ctx = stream_context_create($opts);
$res = file_get_contents($url, false, $ctx);
print_r(json_decode($res, true));
POST SendSerialConsoleSSHPublicKey

Pushes an SSH public key to the specified EC2 instance. The key remains for 60 seconds, which gives you 60 seconds to establish a serial console connection to the instance using SSH. For more information, see EC2 S

https://api.apis.guru/v2/specs/amazonaws.com/ec2-instance-connect/2018-04-02/#X-Amz-Target=AWSEC2InstanceConnectService.SendSerialConsoleSSHPublicKey

Hover any highlighted part to learn what it does

Headers — extra info sent with the request
X-Amz-Target AWSEC2InstanceConnectService.SendSerialConsoleSSHPublicKey
curl -X POST "https://api.apis.guru/v2/specs/amazonaws.com/ec2-instance-connect/2018-04-02/#X-Amz-Target=AWSEC2InstanceConnectService.SendSerialConsoleSSHPublicKey" \
  -H "X-Amz-Target: AWSEC2InstanceConnectService.SendSerialConsoleSSHPublicKey"
import requests
headers = {
    "X-Amz-Target": "AWSEC2InstanceConnectService.SendSerialConsoleSSHPublicKey"
}
response = requests.post(
    "https://api.apis.guru/v2/specs/amazonaws.com/ec2-instance-connect/2018-04-02/#X-Amz-Target=AWSEC2InstanceConnectService.SendSerialConsoleSSHPublicKey",
    headers=headers,
)
print(response.json())
const url = 'https://api.apis.guru/v2/specs/amazonaws.com/ec2-instance-connect/2018-04-02/#X-Amz-Target=AWSEC2InstanceConnectService.SendSerialConsoleSSHPublicKey';

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

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

func main() {
	targetURL := "https://api.apis.guru/v2/specs/amazonaws.com/ec2-instance-connect/2018-04-02/#X-Amz-Target=AWSEC2InstanceConnectService.SendSerialConsoleSSHPublicKey"
	req, _ := http.NewRequest("POST", targetURL, nil)
	req.Header.Set("X-Amz-Target", "AWSEC2InstanceConnectService.SendSerialConsoleSSHPublicKey")

	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-instance-connect/2018-04-02/#X-Amz-Target=AWSEC2InstanceConnectService.SendSerialConsoleSSHPublicKey")

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

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

res = http.request(req)
puts JSON.parse(res.body)
<?php
$url = "https://api.apis.guru/v2/specs/amazonaws.com/ec2-instance-connect/2018-04-02/#X-Amz-Target=AWSEC2InstanceConnectService.SendSerialConsoleSSHPublicKey";
$opts = ["http" => [
    "method" => "POST",
    "header" => implode("\r\n", [
        "X-Amz-Target: AWSEC2InstanceConnectService.SendSerialConsoleSSHPublicKey"
    ]),
]];
$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 EC2 Instance Connect?

AWS EC2 Instance Connect 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 EC2 Instance Connect is free to use, making it a low-risk choice to experiment with.

New to APIs? Read our beginner's guide

Open documentation ↗