Find an API

Search public APIs with auth details & Postman guides

← All APIs

VisageCloud

visagecloud · Search

Search No Auth Free & Open search

Face search, recognition & classification API. Just make a call to our REST API each time your app needs to access face recognition and classification capabilities.

Authentication

No authentication requiredFree to use with no key needed.

Sample Requests

GET Retrieve all collections

Retrieve all collections

https://api.apis.guru/v2/specs/visagecloud.com/1.1/rest/v1.1/collection?accessKey=example&secretKey=example

Hover any highlighted part to learn what it does

curl -X GET "https://api.apis.guru/v2/specs/visagecloud.com/1.1/rest/v1.1/collection/?accessKey=example&secretKey=example"
import requests
params = {
    "accessKey": "example",
    "secretKey": "example"
}
response = requests.get(
    "https://api.apis.guru/v2/specs/visagecloud.com/1.1/rest/v1.1/collection/",
    params=params,
)
print(response.json())
const url = new URL('https://api.apis.guru/v2/specs/visagecloud.com/1.1/rest/v1.1/collection/');
url.searchParams.set('accessKey', 'example');
url.searchParams.set('secretKey', 'example');

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/visagecloud.com/1.1/rest/v1.1/collection/")
	q := baseURL.Query()
	q.Set("accessKey", "example")
	q.Set("secretKey", "example")
	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/visagecloud.com/1.1/rest/v1.1/collection/")
uri.query = URI.encode_www_form({
  "accessKey" => "example",
  "secretKey" => "example"
})

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/visagecloud.com/1.1/rest/v1.1/collection/?" . http_build_query([
    "accessKey" => "example",
    "secretKey" => "example"
]);
$opts = ["http" => [
    "method" => "GET",
]];
$ctx = stream_context_create($opts);
$res = file_get_contents($url, false, $ctx);
print_r(json_decode($res, true));
GET Get account information by accessKey and secretKey

Get account information by accessKey and secretKey

https://api.apis.guru/v2/specs/visagecloud.com/1.1/rest/v1.1/account/account?accessKey=example&secretKey=example

Hover any highlighted part to learn what it does

curl -X GET "https://api.apis.guru/v2/specs/visagecloud.com/1.1/rest/v1.1/account/account?accessKey=example&secretKey=example"
import requests
params = {
    "accessKey": "example",
    "secretKey": "example"
}
response = requests.get(
    "https://api.apis.guru/v2/specs/visagecloud.com/1.1/rest/v1.1/account/account",
    params=params,
)
print(response.json())
const url = new URL('https://api.apis.guru/v2/specs/visagecloud.com/1.1/rest/v1.1/account/account');
url.searchParams.set('accessKey', 'example');
url.searchParams.set('secretKey', 'example');

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/visagecloud.com/1.1/rest/v1.1/account/account")
	q := baseURL.Query()
	q.Set("accessKey", "example")
	q.Set("secretKey", "example")
	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/visagecloud.com/1.1/rest/v1.1/account/account")
uri.query = URI.encode_www_form({
  "accessKey" => "example",
  "secretKey" => "example"
})

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/visagecloud.com/1.1/rest/v1.1/account/account?" . http_build_query([
    "accessKey" => "example",
    "secretKey" => "example"
]);
$opts = ["http" => [
    "method" => "GET",
]];
$ctx = stream_context_create($opts);
$res = file_get_contents($url, false, $ctx);
print_r(json_decode($res, true));
GET Get billing information by accessKey and secretKey

Get billing information by accessKey and secretKey

https://api.apis.guru/v2/specs/visagecloud.com/1.1/rest/v1.1/account/billing?accessKey=example&secretKey=example&endDateTime=example&dateTemplate=example&startDateTime=example

Hover any highlighted part to learn what it does

curl -X GET "https://api.apis.guru/v2/specs/visagecloud.com/1.1/rest/v1.1/account/billing?accessKey=example&secretKey=example&endDateTime=example&dateTemplate=example&startDateTime=example"
import requests
params = {
    "accessKey": "example",
    "secretKey": "example",
    "endDateTime": "example",
    "dateTemplate": "example",
    "startDateTime": "example"
}
response = requests.get(
    "https://api.apis.guru/v2/specs/visagecloud.com/1.1/rest/v1.1/account/billing",
    params=params,
)
print(response.json())
const url = new URL('https://api.apis.guru/v2/specs/visagecloud.com/1.1/rest/v1.1/account/billing');
url.searchParams.set('accessKey', 'example');
url.searchParams.set('secretKey', 'example');
url.searchParams.set('endDateTime', 'example');
url.searchParams.set('dateTemplate', 'example');
url.searchParams.set('startDateTime', 'example');

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/visagecloud.com/1.1/rest/v1.1/account/billing")
	q := baseURL.Query()
	q.Set("accessKey", "example")
	q.Set("secretKey", "example")
	q.Set("endDateTime", "example")
	q.Set("dateTemplate", "example")
	q.Set("startDateTime", "example")
	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/visagecloud.com/1.1/rest/v1.1/account/billing")
uri.query = URI.encode_www_form({
  "accessKey" => "example",
  "secretKey" => "example",
  "endDateTime" => "example",
  "dateTemplate" => "example",
  "startDateTime" => "example"
})

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/visagecloud.com/1.1/rest/v1.1/account/billing?" . http_build_query([
    "accessKey" => "example",
    "secretKey" => "example",
    "endDateTime" => "example",
    "dateTemplate" => "example",
    "startDateTime" => "example"
]);
$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 VisageCloud?

VisageCloud is a Search API. Developers commonly use search APIs for:

  • adding full-text search to your app
  • building autocomplete and typeahead experiences
  • indexing and querying large content sets
  • powering site, product, and document search
  • ranking and filtering results by relevance

No authentication required. This API is open — no signup or key needed. Ideal for quick prototypes and public-facing features. VisageCloud is free to use, making it a low-risk choice to experiment with.

New to APIs? Read our beginner's guide

Open documentation ↗