Find an API

Search public APIs with auth details & Postman guides

← All APIs

AWSMarketplace Metering

amazonaws · Cloud

Cloud No Auth Free & Open cloud

AWS Marketplace Metering Service This reference provides descriptions of the low-level AWS Marketplace Metering Service API. AWS Marketplace sellers can use this API to submit usage data for custom usage dimensions. For information on the permissions you need to use this API, see AWS Marketplace metering and entitlement API permissions in t

Authentication

No authentication requiredFree to use with no key needed.

Sample Requests

POST BatchMeterUsage

BatchMeterUsage is called from a SaaS application listed on AWS Marketplace to post metering records for a set of customers. For identical requests, the API is idempotent; requests can be retried with the same records or a subset of the input records. Every request to

https://api.apis.guru/v2/specs/amazonaws.com/meteringmarketplace/2016-01-14/#X-Amz-Target=AWSMPMeteringService.BatchMeterUsage

Hover any highlighted part to learn what it does

Headers — extra info sent with the request
X-Amz-Target AWSMPMeteringService.BatchMeterUsage
curl -X POST "https://api.apis.guru/v2/specs/amazonaws.com/meteringmarketplace/2016-01-14/#X-Amz-Target=AWSMPMeteringService.BatchMeterUsage" \
  -H "X-Amz-Target: AWSMPMeteringService.BatchMeterUsage"
import requests
headers = {
    "X-Amz-Target": "AWSMPMeteringService.BatchMeterUsage"
}
response = requests.post(
    "https://api.apis.guru/v2/specs/amazonaws.com/meteringmarketplace/2016-01-14/#X-Amz-Target=AWSMPMeteringService.BatchMeterUsage",
    headers=headers,
)
print(response.json())
const url = 'https://api.apis.guru/v2/specs/amazonaws.com/meteringmarketplace/2016-01-14/#X-Amz-Target=AWSMPMeteringService.BatchMeterUsage';

const response = await fetch(url, {
  method: 'POST',
  headers: {
    'X-Amz-Target': 'AWSMPMeteringService.BatchMeterUsage'
  },
}); 
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/meteringmarketplace/2016-01-14/#X-Amz-Target=AWSMPMeteringService.BatchMeterUsage"
	req, _ := http.NewRequest("POST", targetURL, nil)
	req.Header.Set("X-Amz-Target", "AWSMPMeteringService.BatchMeterUsage")

	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/meteringmarketplace/2016-01-14/#X-Amz-Target=AWSMPMeteringService.BatchMeterUsage")

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

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

res = http.request(req)
puts JSON.parse(res.body)
<?php
$url = "https://api.apis.guru/v2/specs/amazonaws.com/meteringmarketplace/2016-01-14/#X-Amz-Target=AWSMPMeteringService.BatchMeterUsage";
$opts = ["http" => [
    "method" => "POST",
    "header" => implode("\r\n", [
        "X-Amz-Target: AWSMPMeteringService.BatchMeterUsage"
    ]),
]];
$ctx = stream_context_create($opts);
$res = file_get_contents($url, false, $ctx);
print_r(json_decode($res, true));
POST MeterUsage

API to emit metering records. For identical requests, the API is idempotent. It simply returns the metering record ID. MeterUsage is authenticated on the buyer's AWS account using credentials from the EC2 instance, ECS task, or EKS pod. MeterUsage can opt

https://api.apis.guru/v2/specs/amazonaws.com/meteringmarketplace/2016-01-14/#X-Amz-Target=AWSMPMeteringService.MeterUsage

Hover any highlighted part to learn what it does

Headers — extra info sent with the request
X-Amz-Target AWSMPMeteringService.MeterUsage
curl -X POST "https://api.apis.guru/v2/specs/amazonaws.com/meteringmarketplace/2016-01-14/#X-Amz-Target=AWSMPMeteringService.MeterUsage" \
  -H "X-Amz-Target: AWSMPMeteringService.MeterUsage"
import requests
headers = {
    "X-Amz-Target": "AWSMPMeteringService.MeterUsage"
}
response = requests.post(
    "https://api.apis.guru/v2/specs/amazonaws.com/meteringmarketplace/2016-01-14/#X-Amz-Target=AWSMPMeteringService.MeterUsage",
    headers=headers,
)
print(response.json())
const url = 'https://api.apis.guru/v2/specs/amazonaws.com/meteringmarketplace/2016-01-14/#X-Amz-Target=AWSMPMeteringService.MeterUsage';

const response = await fetch(url, {
  method: 'POST',
  headers: {
    'X-Amz-Target': 'AWSMPMeteringService.MeterUsage'
  },
}); 
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/meteringmarketplace/2016-01-14/#X-Amz-Target=AWSMPMeteringService.MeterUsage"
	req, _ := http.NewRequest("POST", targetURL, nil)
	req.Header.Set("X-Amz-Target", "AWSMPMeteringService.MeterUsage")

	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/meteringmarketplace/2016-01-14/#X-Amz-Target=AWSMPMeteringService.MeterUsage")

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

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

res = http.request(req)
puts JSON.parse(res.body)
<?php
$url = "https://api.apis.guru/v2/specs/amazonaws.com/meteringmarketplace/2016-01-14/#X-Amz-Target=AWSMPMeteringService.MeterUsage";
$opts = ["http" => [
    "method" => "POST",
    "header" => implode("\r\n", [
        "X-Amz-Target: AWSMPMeteringService.MeterUsage"
    ]),
]];
$ctx = stream_context_create($opts);
$res = file_get_contents($url, false, $ctx);
print_r(json_decode($res, true));
POST RegisterUsage

Paid container software products sold through AWS Marketplace must integrate with the AWS Marketplace Metering Service and call the RegisterUsage operation for software entitlement and metering. Free and BYOL products for Amazon ECS or Amazon EKS aren't required to call Registe

https://api.apis.guru/v2/specs/amazonaws.com/meteringmarketplace/2016-01-14/#X-Amz-Target=AWSMPMeteringService.RegisterUsage

Hover any highlighted part to learn what it does

Headers — extra info sent with the request
X-Amz-Target AWSMPMeteringService.RegisterUsage
curl -X POST "https://api.apis.guru/v2/specs/amazonaws.com/meteringmarketplace/2016-01-14/#X-Amz-Target=AWSMPMeteringService.RegisterUsage" \
  -H "X-Amz-Target: AWSMPMeteringService.RegisterUsage"
import requests
headers = {
    "X-Amz-Target": "AWSMPMeteringService.RegisterUsage"
}
response = requests.post(
    "https://api.apis.guru/v2/specs/amazonaws.com/meteringmarketplace/2016-01-14/#X-Amz-Target=AWSMPMeteringService.RegisterUsage",
    headers=headers,
)
print(response.json())
const url = 'https://api.apis.guru/v2/specs/amazonaws.com/meteringmarketplace/2016-01-14/#X-Amz-Target=AWSMPMeteringService.RegisterUsage';

const response = await fetch(url, {
  method: 'POST',
  headers: {
    'X-Amz-Target': 'AWSMPMeteringService.RegisterUsage'
  },
}); 
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/meteringmarketplace/2016-01-14/#X-Amz-Target=AWSMPMeteringService.RegisterUsage"
	req, _ := http.NewRequest("POST", targetURL, nil)
	req.Header.Set("X-Amz-Target", "AWSMPMeteringService.RegisterUsage")

	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/meteringmarketplace/2016-01-14/#X-Amz-Target=AWSMPMeteringService.RegisterUsage")

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

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

res = http.request(req)
puts JSON.parse(res.body)
<?php
$url = "https://api.apis.guru/v2/specs/amazonaws.com/meteringmarketplace/2016-01-14/#X-Amz-Target=AWSMPMeteringService.RegisterUsage";
$opts = ["http" => [
    "method" => "POST",
    "header" => implode("\r\n", [
        "X-Amz-Target: AWSMPMeteringService.RegisterUsage"
    ]),
]];
$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 AWSMarketplace Metering?

AWSMarketplace Metering 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. AWSMarketplace Metering 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 ↗