Find an API

Search public APIs with auth details & Postman guides

← All APIs

Postman API

getpostman · Developer Tools

Developer Tools No Auth Free & Open developer_tools

The Postman API allows you to programmatically access data stored in Postman account with ease. The easiest way to get started with the API is to click the **fork** button to fork this collection to your own workspace and use Postman to send requests. # Overview 1. You need a valid API Key to send requests to the API endpoints. You can get your key from the [integrations dashboard](https://go.postman.co/settings/me/api-keys). 1. The API has an access <a href="#

Authentication

No authentication requiredFree to use with no key needed.

Sample Requests

GET Get all APIs

This call fetches all the APIs present in the specified workspace Response contains an array named `apis` which would contain all the details of APIs present in the workspace. > Requires API Key as `X-Api-Key` request header or `apikey` URL query parameter.

https://api.apis.guru/v2/specs/getpostman.com/1.20.0/apis?name={{name}}&sort={{sort}}&since={{since}}&until={{until}}&summary={{summary}}&isPublic={{isPublic}}&createdBy={{createdBy}}&direction={{direction}}&updatedBy={{updatedBy}}&workspace={{workspaceId}}&description={{description}}

Hover any highlighted part to learn what it does

curl -X GET "https://api.apis.guru/v2/specs/getpostman.com/1.20.0/apis?name=%7B%7Bname%7D%7D&sort=%7B%7Bsort%7D%7D&since=%7B%7Bsince%7D%7D&until=%7B%7Buntil%7D%7D&summary=%7B%7Bsummary%7D%7D&isPublic=%7B%7BisPublic%7D%7D&createdBy=%7B%7BcreatedBy%7D%7D&direction=%7B%7Bdirection%7D%7D&updatedBy=%7B%7BupdatedBy%7D%7D&workspace=%7B%7BworkspaceId%7D%7D&description=%7B%7Bdescription%7D%7D"
import requests
params = {
    "name": "{{name}}",
    "sort": "{{sort}}",
    "since": "{{since}}",
    "until": "{{until}}",
    "summary": "{{summary}}",
    "isPublic": "{{isPublic}}",
    "createdBy": "{{createdBy}}",
    "direction": "{{direction}}",
    "updatedBy": "{{updatedBy}}",
    "workspace": "{{workspaceId}}",
    "description": "{{description}}"
}
response = requests.get(
    "https://api.apis.guru/v2/specs/getpostman.com/1.20.0/apis",
    params=params,
)
print(response.json())
const url = new URL('https://api.apis.guru/v2/specs/getpostman.com/1.20.0/apis');
url.searchParams.set('name', '{{name}}');
url.searchParams.set('sort', '{{sort}}');
url.searchParams.set('since', '{{since}}');
url.searchParams.set('until', '{{until}}');
url.searchParams.set('summary', '{{summary}}');
url.searchParams.set('isPublic', '{{isPublic}}');
url.searchParams.set('createdBy', '{{createdBy}}');
url.searchParams.set('direction', '{{direction}}');
url.searchParams.set('updatedBy', '{{updatedBy}}');
url.searchParams.set('workspace', '{{workspaceId}}');
url.searchParams.set('description', '{{description}}');

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/getpostman.com/1.20.0/apis")
	q := baseURL.Query()
	q.Set("name", "{{name}}")
	q.Set("sort", "{{sort}}")
	q.Set("since", "{{since}}")
	q.Set("until", "{{until}}")
	q.Set("summary", "{{summary}}")
	q.Set("isPublic", "{{isPublic}}")
	q.Set("createdBy", "{{createdBy}}")
	q.Set("direction", "{{direction}}")
	q.Set("updatedBy", "{{updatedBy}}")
	q.Set("workspace", "{{workspaceId}}")
	q.Set("description", "{{description}}")
	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/getpostman.com/1.20.0/apis")
uri.query = URI.encode_www_form({
  "name" => "{{name}}",
  "sort" => "{{sort}}",
  "since" => "{{since}}",
  "until" => "{{until}}",
  "summary" => "{{summary}}",
  "isPublic" => "{{isPublic}}",
  "createdBy" => "{{createdBy}}",
  "direction" => "{{direction}}",
  "updatedBy" => "{{updatedBy}}",
  "workspace" => "{{workspaceId}}",
  "description" => "{{description}}"
})

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/getpostman.com/1.20.0/apis?" . http_build_query([
    "name" => "{{name}}",
    "sort" => "{{sort}}",
    "since" => "{{since}}",
    "until" => "{{until}}",
    "summary" => "{{summary}}",
    "isPublic" => "{{isPublic}}",
    "createdBy" => "{{createdBy}}",
    "direction" => "{{direction}}",
    "updatedBy" => "{{updatedBy}}",
    "workspace" => "{{workspaceId}}",
    "description" => "{{description}}"
]);
$opts = ["http" => [
    "method" => "GET",
]];
$ctx = stream_context_create($opts);
$res = file_get_contents($url, false, $ctx);
print_r(json_decode($res, true));
GET All Collections

The `/collections` endpoint returns a list of all [collections](https://www.getpostman.com/docs/collections) that are accessible by you. The list includes your own collections and the collections that you have subscribed to. The response contains an array of collection information containing the `n

https://api.apis.guru/v2/specs/getpostman.com/1.20.0/collections

Hover any highlighted part to learn what it does

curl -X GET "https://api.apis.guru/v2/specs/getpostman.com/1.20.0/collections"
import requests
response = requests.get(
    "https://api.apis.guru/v2/specs/getpostman.com/1.20.0/collections",
)
print(response.json())
const url = 'https://api.apis.guru/v2/specs/getpostman.com/1.20.0/collections';

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/getpostman.com/1.20.0/collections"
	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/getpostman.com/1.20.0/collections")

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/getpostman.com/1.20.0/collections";
$opts = ["http" => [
    "method" => "GET",
]];
$ctx = stream_context_create($opts);
$res = file_get_contents($url, false, $ctx);
print_r(json_decode($res, true));
GET All Environments

The `/environments` endpoint returns a list of all [environments](https://www.getpostman.com/docs/environments) that belong to you.. The response contains an array of environments' information containing the `name`, `id`, `owner` and `uid` of each environment. > Requires

https://api.apis.guru/v2/specs/getpostman.com/1.20.0/environments

Hover any highlighted part to learn what it does

curl -X GET "https://api.apis.guru/v2/specs/getpostman.com/1.20.0/environments"
import requests
response = requests.get(
    "https://api.apis.guru/v2/specs/getpostman.com/1.20.0/environments",
)
print(response.json())
const url = 'https://api.apis.guru/v2/specs/getpostman.com/1.20.0/environments';

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/getpostman.com/1.20.0/environments"
	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/getpostman.com/1.20.0/environments")

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/getpostman.com/1.20.0/environments";
$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 Postman API?

Postman API is a Developer Tools API. Developers commonly use developer tools APIs for:

  • automating code review and quality checks
  • integrating CI/CD pipelines and build systems
  • managing feature flags and A/B tests
  • monitoring errors and application performance
  • generating and validating test data

No authentication required. This API is open — no signup or key needed. Ideal for quick prototypes and public-facing features. Postman API 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 ↗