Find an API

Search public APIs with auth details & Postman guides

← All APIs

AWS Compute Optimizer

amazonaws · Cloud

Cloud No Auth Free & Open cloud

Compute Optimizer is a service that analyzes the configuration and utilization metrics of your Amazon Web Services compute resources, such as Amazon EC2 instances, Amazon EC2 Auto Scaling groups, Lambda functions, Amazon EBS volumes, and Amazon ECS services on Fargate. It reports whether your resources are optimal, and generates optimization recommendations to reduce the cost and improve the performance of your workloads. Compute Optimizer also provides recent utilization metric data, in additio

Authentication

No authentication requiredFree to use with no key needed.

Sample Requests

POST DescribeRecommendationExportJobs

Describes recommendation export jobs created in the last seven days. Use the ExportAutoScalingGroupRecommendations or ExportEC2InstanceRecommendations actions to request an export of your recommendations. Then use the DescribeRecommendationExportJobs action to view you

https://api.apis.guru/v2/specs/amazonaws.com/compute-optimizer/2019-11-01/#X-Amz-Target=ComputeOptimizerService.DescribeRecommendationExportJobs?nextToken=example&maxResults=example

Hover any highlighted part to learn what it does

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

const response = await fetch(url, {
  method: 'POST',
  headers: {
    'X-Amz-Target': 'ComputeOptimizerService.DescribeRecommendationExportJobs'
  },
}); 
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/compute-optimizer/2019-11-01/#X-Amz-Target=ComputeOptimizerService.DescribeRecommendationExportJobs")
	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", "ComputeOptimizerService.DescribeRecommendationExportJobs")

	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/compute-optimizer/2019-11-01/#X-Amz-Target=ComputeOptimizerService.DescribeRecommendationExportJobs")
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"] = "ComputeOptimizerService.DescribeRecommendationExportJobs"

res = http.request(req)
puts JSON.parse(res.body)
<?php
$url = "https://api.apis.guru/v2/specs/amazonaws.com/compute-optimizer/2019-11-01/#X-Amz-Target=ComputeOptimizerService.DescribeRecommendationExportJobs?" . http_build_query([
    "nextToken" => "example",
    "maxResults" => "example"
]);
$opts = ["http" => [
    "method" => "POST",
    "header" => implode("\r\n", [
        "X-Amz-Target: ComputeOptimizerService.DescribeRecommendationExportJobs"
    ]),
]];
$ctx = stream_context_create($opts);
$res = file_get_contents($url, false, $ctx);
print_r(json_decode($res, true));
POST GetEnrollmentStatusesForOrganization

Returns the Compute Optimizer enrollment (opt-in) status of organization member accounts, if your account is an organization management account. To get the enrollment status of standalone accounts, use the GetEnrollmentStatus action.

https://api.apis.guru/v2/specs/amazonaws.com/compute-optimizer/2019-11-01/#X-Amz-Target=ComputeOptimizerService.GetEnrollmentStatusesForOrganization?nextToken=example&maxResults=example

Hover any highlighted part to learn what it does

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

const response = await fetch(url, {
  method: 'POST',
  headers: {
    'X-Amz-Target': 'ComputeOptimizerService.GetEnrollmentStatusesForOrganization'
  },
}); 
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/compute-optimizer/2019-11-01/#X-Amz-Target=ComputeOptimizerService.GetEnrollmentStatusesForOrganization")
	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", "ComputeOptimizerService.GetEnrollmentStatusesForOrganization")

	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/compute-optimizer/2019-11-01/#X-Amz-Target=ComputeOptimizerService.GetEnrollmentStatusesForOrganization")
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"] = "ComputeOptimizerService.GetEnrollmentStatusesForOrganization"

res = http.request(req)
puts JSON.parse(res.body)
<?php
$url = "https://api.apis.guru/v2/specs/amazonaws.com/compute-optimizer/2019-11-01/#X-Amz-Target=ComputeOptimizerService.GetEnrollmentStatusesForOrganization?" . http_build_query([
    "nextToken" => "example",
    "maxResults" => "example"
]);
$opts = ["http" => [
    "method" => "POST",
    "header" => implode("\r\n", [
        "X-Amz-Target: ComputeOptimizerService.GetEnrollmentStatusesForOrganization"
    ]),
]];
$ctx = stream_context_create($opts);
$res = file_get_contents($url, false, $ctx);
print_r(json_decode($res, true));
POST GetLambdaFunctionRecommendations

Returns Lambda function recommendations. Compute Optimizer generates recommendations for functions that meet a specific set of requirements. For more information, see the Supported resources and requirement

https://api.apis.guru/v2/specs/amazonaws.com/compute-optimizer/2019-11-01/#X-Amz-Target=ComputeOptimizerService.GetLambdaFunctionRecommendations?nextToken=example&maxResults=example

Hover any highlighted part to learn what it does

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

const response = await fetch(url, {
  method: 'POST',
  headers: {
    'X-Amz-Target': 'ComputeOptimizerService.GetLambdaFunctionRecommendations'
  },
}); 
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/compute-optimizer/2019-11-01/#X-Amz-Target=ComputeOptimizerService.GetLambdaFunctionRecommendations")
	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", "ComputeOptimizerService.GetLambdaFunctionRecommendations")

	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/compute-optimizer/2019-11-01/#X-Amz-Target=ComputeOptimizerService.GetLambdaFunctionRecommendations")
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"] = "ComputeOptimizerService.GetLambdaFunctionRecommendations"

res = http.request(req)
puts JSON.parse(res.body)
<?php
$url = "https://api.apis.guru/v2/specs/amazonaws.com/compute-optimizer/2019-11-01/#X-Amz-Target=ComputeOptimizerService.GetLambdaFunctionRecommendations?" . http_build_query([
    "nextToken" => "example",
    "maxResults" => "example"
]);
$opts = ["http" => [
    "method" => "POST",
    "header" => implode("\r\n", [
        "X-Amz-Target: ComputeOptimizerService.GetLambdaFunctionRecommendations"
    ]),
]];
$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 Compute Optimizer?

AWS Compute Optimizer 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 Compute Optimizer 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 ↗