Find an API

Search public APIs with auth details & Postman guides

← All APIs

Amazon Simple Storage Service

amazonaws · Cloud

Cloud No Auth Free & Open cloud

Authentication

No authentication requiredFree to use with no key needed.

Sample Requests

GET ListBuckets

Returns a list of all buckets owned by the authenticated sender of the request. To use this operation, you must have the s3:ListAllMyBuckets permission.

https://api.apis.guru/v2/specs/amazonaws.com/s3/2006-03-01

Hover any highlighted part to learn what it does

curl -X GET "https://api.apis.guru/v2/specs/amazonaws.com/s3/2006-03-01/"
import requests
response = requests.get(
    "https://api.apis.guru/v2/specs/amazonaws.com/s3/2006-03-01/",
)
print(response.json())
const url = 'https://api.apis.guru/v2/specs/amazonaws.com/s3/2006-03-01/';

const response = await fetch(url); 
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/s3/2006-03-01/"
	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/s3/2006-03-01/")

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/s3/2006-03-01/";
$opts = ["http" => [
    "method" => "GET",
]];
$ctx = stream_context_create($opts);
$res = file_get_contents($url, false, $ctx);
print_r(json_decode($res, true));
GET ListObjects

Returns some or all (up to 1,000) of the objects in a bucket. You can use the request parameters as selection criteria to return a subset of the objects in a bucket. A 200 OK response can contain valid or invalid XML. Be sure to design your application to parse the contents of the response and ha

https://api.apis.guru/v2/specs/amazonaws.com/s3/2006-03-01/{Bucket}?Marker=example&marker=example&prefix=example&MaxKeys=example&max-keys=1&delimiter=example&encoding-type=url

Hover any highlighted part to learn what it does

curl -X GET "https://api.apis.guru/v2/specs/amazonaws.com/s3/2006-03-01/{Bucket}?Marker=example&marker=example&prefix=example&MaxKeys=example&max-keys=1&delimiter=example&encoding-type=url"
import requests
params = {
    "Marker": "example",
    "marker": "example",
    "prefix": "example",
    "MaxKeys": "example",
    "max-keys": "1",
    "delimiter": "example",
    "encoding-type": "url"
}
response = requests.get(
    "https://api.apis.guru/v2/specs/amazonaws.com/s3/2006-03-01/{Bucket}",
    params=params,
)
print(response.json())
const url = new URL('https://api.apis.guru/v2/specs/amazonaws.com/s3/2006-03-01/{Bucket}');
url.searchParams.set('Marker', 'example');
url.searchParams.set('marker', 'example');
url.searchParams.set('prefix', 'example');
url.searchParams.set('MaxKeys', 'example');
url.searchParams.set('max-keys', '1');
url.searchParams.set('delimiter', 'example');
url.searchParams.set('encoding-type', 'url');

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/s3/2006-03-01/{Bucket}")
	q := baseURL.Query()
	q.Set("Marker", "example")
	q.Set("marker", "example")
	q.Set("prefix", "example")
	q.Set("MaxKeys", "example")
	q.Set("max-keys", "1")
	q.Set("delimiter", "example")
	q.Set("encoding-type", "url")
	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/s3/2006-03-01/{Bucket}")
uri.query = URI.encode_www_form({
  "Marker" => "example",
  "marker" => "example",
  "prefix" => "example",
  "MaxKeys" => "example",
  "max-keys" => "1",
  "delimiter" => "example",
  "encoding-type" => "url"
})

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/s3/2006-03-01/{Bucket}?" . http_build_query([
    "Marker" => "example",
    "marker" => "example",
    "prefix" => "example",
    "MaxKeys" => "example",
    "max-keys" => "1",
    "delimiter" => "example",
    "encoding-type" => "url"
]);
$opts = ["http" => [
    "method" => "GET",
]];
$ctx = stream_context_create($opts);
$res = file_get_contents($url, false, $ctx);
print_r(json_decode($res, true));
GET GetBucketAnalyticsConfiguration

This implementation of the GET action returns an analytics configuration (identified by the analytics configuration ID) from the bucket. To use this operation, you must have permissions to perform the s3:GetAnalyticsConfiguration action. The bucket owner has this permission by

https://api.apis.guru/v2/specs/amazonaws.com/s3/2006-03-01/{Bucket}#analytics&id?id=1&analytics=true

Hover any highlighted part to learn what it does

curl -X GET "https://api.apis.guru/v2/specs/amazonaws.com/s3/2006-03-01/{Bucket}#analytics&id?id=1&analytics=true"
import requests
params = {
    "id": "1",
    "analytics": "true"
}
response = requests.get(
    "https://api.apis.guru/v2/specs/amazonaws.com/s3/2006-03-01/{Bucket}#analytics&id",
    params=params,
)
print(response.json())
const url = new URL('https://api.apis.guru/v2/specs/amazonaws.com/s3/2006-03-01/{Bucket}#analytics&id');
url.searchParams.set('id', '1');
url.searchParams.set('analytics', 'true');

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/s3/2006-03-01/{Bucket}#analytics&id")
	q := baseURL.Query()
	q.Set("id", "1")
	q.Set("analytics", "true")
	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/s3/2006-03-01/{Bucket}#analytics&id")
uri.query = URI.encode_www_form({
  "id" => "1",
  "analytics" => "true"
})

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/s3/2006-03-01/{Bucket}#analytics&id?" . http_build_query([
    "id" => "1",
    "analytics" => "true"
]);
$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 Simple Storage Service?

Amazon Simple Storage 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. Amazon Simple Storage Service is free to use, making it a low-risk choice to experiment with.

New to APIs? Read our beginner's guide

Open documentation ↗