Find an API

Search public APIs with auth details & Postman guides

← All APIs

Computer Vision Client

microsoft · Developer Tools

Developer Tools No Auth Free & Open developer_tools cloud

The Computer Vision API provides state-of-the-art algorithms to process images and return information. For example, it can be used to determine if an image contains mature content, or it can be used to find all the faces in an image. It also has other features like estimating dominant and accent colors, categorizing the content of images, and describing an image with complete English sentences. Additionally, it can also intelligently generate images thumbnails for displaying large images effec

Authentication

No authentication requiredFree to use with no key needed.

Sample Requests

GET GetTextOperationResult

This interface is used for getting text operation result. The URL to this interface should be retrieved from 'Operation-Location' field returned from Recognize Text interface.

https://api.apis.guru/v2/specs/microsoft.com/cognitiveservices-Ocr/2.1/textOperations/{operationId}

Hover any highlighted part to learn what it does

curl -X GET "https://api.apis.guru/v2/specs/microsoft.com/cognitiveservices-Ocr/2.1/textOperations/{operationId}"
import requests
response = requests.get(
    "https://api.apis.guru/v2/specs/microsoft.com/cognitiveservices-Ocr/2.1/textOperations/{operationId}",
)
print(response.json())
const url = 'https://api.apis.guru/v2/specs/microsoft.com/cognitiveservices-Ocr/2.1/textOperations/{operationId}';

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/microsoft.com/cognitiveservices-Ocr/2.1/textOperations/{operationId}"
	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/microsoft.com/cognitiveservices-Ocr/2.1/textOperations/{operationId}")

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/microsoft.com/cognitiveservices-Ocr/2.1/textOperations/{operationId}";
$opts = ["http" => [
    "method" => "GET",
]];
$ctx = stream_context_create($opts);
$res = file_get_contents($url, false, $ctx);
print_r(json_decode($res, true));
GET GetReadOperationResult

This interface is used for getting OCR results of Read operation. The URL to this interface should be retrieved from 'Operation-Location' field returned from Batch Read File interface.

https://api.apis.guru/v2/specs/microsoft.com/cognitiveservices-Ocr/2.1/read/operations/{operationId}

Hover any highlighted part to learn what it does

curl -X GET "https://api.apis.guru/v2/specs/microsoft.com/cognitiveservices-Ocr/2.1/read/operations/{operationId}"
import requests
response = requests.get(
    "https://api.apis.guru/v2/specs/microsoft.com/cognitiveservices-Ocr/2.1/read/operations/{operationId}",
)
print(response.json())
const url = 'https://api.apis.guru/v2/specs/microsoft.com/cognitiveservices-Ocr/2.1/read/operations/{operationId}';

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/microsoft.com/cognitiveservices-Ocr/2.1/read/operations/{operationId}"
	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/microsoft.com/cognitiveservices-Ocr/2.1/read/operations/{operationId}")

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/microsoft.com/cognitiveservices-Ocr/2.1/read/operations/{operationId}";
$opts = ["http" => [
    "method" => "GET",
]];
$ctx = stream_context_create($opts);
$res = file_get_contents($url, false, $ctx);
print_r(json_decode($res, true));
POST RecognizeText

Recognize Text operation. When you use the Recognize Text interface, the response contains a field called 'Operation-Location'. The 'Operation-Location' field contains the URL that you must use for your Get Recognize Text Operation Result operation.

https://api.apis.guru/v2/specs/microsoft.com/cognitiveservices-Ocr/2.1/recognizeText?mode=Handwritten

Hover any highlighted part to learn what it does

curl -X POST "https://api.apis.guru/v2/specs/microsoft.com/cognitiveservices-Ocr/2.1/recognizeText?mode=Handwritten"
import requests
params = {
    "mode": "Handwritten"
}
response = requests.post(
    "https://api.apis.guru/v2/specs/microsoft.com/cognitiveservices-Ocr/2.1/recognizeText",
    params=params,
)
print(response.json())
const url = new URL('https://api.apis.guru/v2/specs/microsoft.com/cognitiveservices-Ocr/2.1/recognizeText');
url.searchParams.set('mode', 'Handwritten');

const response = await fetch(url, {
  method: 'POST',
}); 
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/microsoft.com/cognitiveservices-Ocr/2.1/recognizeText")
	q := baseURL.Query()
	q.Set("mode", "Handwritten")
	baseURL.RawQuery = q.Encode()
	targetURL := baseURL.String()
	req, _ := http.NewRequest("POST", 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/microsoft.com/cognitiveservices-Ocr/2.1/recognizeText")
uri.query = URI.encode_www_form({
  "mode" => "Handwritten"
})

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

req = Net::HTTP::Post.new(uri)

res = http.request(req)
puts JSON.parse(res.body)
<?php
$url = "https://api.apis.guru/v2/specs/microsoft.com/cognitiveservices-Ocr/2.1/recognizeText?" . http_build_query([
    "mode" => "Handwritten"
]);
$opts = ["http" => [
    "method" => "POST",
]];
$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 Computer Vision Client?

Computer Vision Client 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. Computer Vision Client 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 ↗