Find an API

Search public APIs with auth details & Postman guides

← All APIs

AWS DataSync

amazonaws · Cloud

Cloud No Auth Free & Open cloud

DataSync DataSync is a managed data transfer service that makes it simpler for you to automate moving data between on-premises storage and Amazon Web Services storage services. You also can use DataSync to transfer data between other cloud providers and Amazon Web Services storage services. This API interface reference includes documentation for using DataSync programmatically. For complete information, see the <a href="https://docs.aws.amazon.com/datasync/late

Authentication

No authentication requiredFree to use with no key needed.

Sample Requests

POST ListAgents

Returns a list of DataSync agents that belong to an Amazon Web Services account in the Amazon Web Services Region specified in the request. With pagination, you can reduce the number of agents returned in a response. If you get a truncated list of agents in a response, the response contain

https://api.apis.guru/v2/specs/amazonaws.com/datasync/2018-11-09/#X-Amz-Target=FmrsService.ListAgents?NextToken=example&MaxResults=example

Hover any highlighted part to learn what it does

Headers — extra info sent with the request
X-Amz-Target FmrsService.ListAgents
curl -X POST "https://api.apis.guru/v2/specs/amazonaws.com/datasync/2018-11-09/#X-Amz-Target=FmrsService.ListAgents?NextToken=example&MaxResults=example" \
  -H "X-Amz-Target: FmrsService.ListAgents"
import requests
params = {
    "NextToken": "example",
    "MaxResults": "example"
}
headers = {
    "X-Amz-Target": "FmrsService.ListAgents"
}
response = requests.post(
    "https://api.apis.guru/v2/specs/amazonaws.com/datasync/2018-11-09/#X-Amz-Target=FmrsService.ListAgents",
    params=params,
    headers=headers,
)
print(response.json())
const url = new URL('https://api.apis.guru/v2/specs/amazonaws.com/datasync/2018-11-09/#X-Amz-Target=FmrsService.ListAgents');
url.searchParams.set('NextToken', 'example');
url.searchParams.set('MaxResults', 'example');

const response = await fetch(url, {
  method: 'POST',
  headers: {
    'X-Amz-Target': 'FmrsService.ListAgents'
  },
}); 
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/datasync/2018-11-09/#X-Amz-Target=FmrsService.ListAgents")
	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", "FmrsService.ListAgents")

	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/datasync/2018-11-09/#X-Amz-Target=FmrsService.ListAgents")
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"] = "FmrsService.ListAgents"

res = http.request(req)
puts JSON.parse(res.body)
<?php
$url = "https://api.apis.guru/v2/specs/amazonaws.com/datasync/2018-11-09/#X-Amz-Target=FmrsService.ListAgents?" . http_build_query([
    "NextToken" => "example",
    "MaxResults" => "example"
]);
$opts = ["http" => [
    "method" => "POST",
    "header" => implode("\r\n", [
        "X-Amz-Target: FmrsService.ListAgents"
    ]),
]];
$ctx = stream_context_create($opts);
$res = file_get_contents($url, false, $ctx);
print_r(json_decode($res, true));
POST ListLocations

Returns a list of source and destination locations. If you have more locations than are returned in a response (that is, the response returns only a truncated list of your agents), the response contains a token that you can specify in your next request to fetch the next page of locations.<

https://api.apis.guru/v2/specs/amazonaws.com/datasync/2018-11-09/#X-Amz-Target=FmrsService.ListLocations?NextToken=example&MaxResults=example

Hover any highlighted part to learn what it does

Headers — extra info sent with the request
X-Amz-Target FmrsService.ListLocations
curl -X POST "https://api.apis.guru/v2/specs/amazonaws.com/datasync/2018-11-09/#X-Amz-Target=FmrsService.ListLocations?NextToken=example&MaxResults=example" \
  -H "X-Amz-Target: FmrsService.ListLocations"
import requests
params = {
    "NextToken": "example",
    "MaxResults": "example"
}
headers = {
    "X-Amz-Target": "FmrsService.ListLocations"
}
response = requests.post(
    "https://api.apis.guru/v2/specs/amazonaws.com/datasync/2018-11-09/#X-Amz-Target=FmrsService.ListLocations",
    params=params,
    headers=headers,
)
print(response.json())
const url = new URL('https://api.apis.guru/v2/specs/amazonaws.com/datasync/2018-11-09/#X-Amz-Target=FmrsService.ListLocations');
url.searchParams.set('NextToken', 'example');
url.searchParams.set('MaxResults', 'example');

const response = await fetch(url, {
  method: 'POST',
  headers: {
    'X-Amz-Target': 'FmrsService.ListLocations'
  },
}); 
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/datasync/2018-11-09/#X-Amz-Target=FmrsService.ListLocations")
	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", "FmrsService.ListLocations")

	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/datasync/2018-11-09/#X-Amz-Target=FmrsService.ListLocations")
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"] = "FmrsService.ListLocations"

res = http.request(req)
puts JSON.parse(res.body)
<?php
$url = "https://api.apis.guru/v2/specs/amazonaws.com/datasync/2018-11-09/#X-Amz-Target=FmrsService.ListLocations?" . http_build_query([
    "NextToken" => "example",
    "MaxResults" => "example"
]);
$opts = ["http" => [
    "method" => "POST",
    "header" => implode("\r\n", [
        "X-Amz-Target: FmrsService.ListLocations"
    ]),
]];
$ctx = stream_context_create($opts);
$res = file_get_contents($url, false, $ctx);
print_r(json_decode($res, true));
POST ListTagsForResource

Returns all the tags associated with an Amazon Web Services resource.

https://api.apis.guru/v2/specs/amazonaws.com/datasync/2018-11-09/#X-Amz-Target=FmrsService.ListTagsForResource?NextToken=example&MaxResults=example

Hover any highlighted part to learn what it does

Headers — extra info sent with the request
X-Amz-Target FmrsService.ListTagsForResource
curl -X POST "https://api.apis.guru/v2/specs/amazonaws.com/datasync/2018-11-09/#X-Amz-Target=FmrsService.ListTagsForResource?NextToken=example&MaxResults=example" \
  -H "X-Amz-Target: FmrsService.ListTagsForResource"
import requests
params = {
    "NextToken": "example",
    "MaxResults": "example"
}
headers = {
    "X-Amz-Target": "FmrsService.ListTagsForResource"
}
response = requests.post(
    "https://api.apis.guru/v2/specs/amazonaws.com/datasync/2018-11-09/#X-Amz-Target=FmrsService.ListTagsForResource",
    params=params,
    headers=headers,
)
print(response.json())
const url = new URL('https://api.apis.guru/v2/specs/amazonaws.com/datasync/2018-11-09/#X-Amz-Target=FmrsService.ListTagsForResource');
url.searchParams.set('NextToken', 'example');
url.searchParams.set('MaxResults', 'example');

const response = await fetch(url, {
  method: 'POST',
  headers: {
    'X-Amz-Target': 'FmrsService.ListTagsForResource'
  },
}); 
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/datasync/2018-11-09/#X-Amz-Target=FmrsService.ListTagsForResource")
	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", "FmrsService.ListTagsForResource")

	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/datasync/2018-11-09/#X-Amz-Target=FmrsService.ListTagsForResource")
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"] = "FmrsService.ListTagsForResource"

res = http.request(req)
puts JSON.parse(res.body)
<?php
$url = "https://api.apis.guru/v2/specs/amazonaws.com/datasync/2018-11-09/#X-Amz-Target=FmrsService.ListTagsForResource?" . http_build_query([
    "NextToken" => "example",
    "MaxResults" => "example"
]);
$opts = ["http" => [
    "method" => "POST",
    "header" => implode("\r\n", [
        "X-Amz-Target: FmrsService.ListTagsForResource"
    ]),
]];
$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 DataSync?

AWS DataSync 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 DataSync 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 ↗