Find an API

Search public APIs with auth details & Postman guides

← All APIs

Call Control API

callcontrol · Company

Company No Auth Free & Open telecom

API for blocking phone calls with Call Control. Data is from crowdsourced community blacklist from 12+ million users and government agencies (FTC, FCC, IRS) Try with api_key 'demo', hit explore above, and then try phone numbers 18008472911,13157244022,17275567300,18008276655,12061231234.

Authentication

No authentication requiredFree to use with no key needed.

Sample Requests

GET Complaints: Free service (with registration), providing community and government complaint lookup by phone number for up to 2,000 queries per month. Details include number complaint rates from (FTC, FCC, IRS, Indiana Attorney General) and key entity tag extractions from complaints.

This is the main funciton to get data out of the call control reporting system Try with api_key 'demo' and phone numbers 18008472911, 13157244022, 17275567300, 18008276655, and 12061231234 (last one not spam)

https://api.apis.guru/v2/specs/callcontrol.com/2015-11-01/api/2015-11-01/Complaints/{phoneNumber}

Hover any highlighted part to learn what it does

curl -X GET "https://api.apis.guru/v2/specs/callcontrol.com/2015-11-01/api/2015-11-01/Complaints/{phoneNumber}"
import requests
response = requests.get(
    "https://api.apis.guru/v2/specs/callcontrol.com/2015-11-01/api/2015-11-01/Complaints/{phoneNumber}",
)
print(response.json())
const url = 'https://api.apis.guru/v2/specs/callcontrol.com/2015-11-01/api/2015-11-01/Complaints/{phoneNumber}';

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/callcontrol.com/2015-11-01/api/2015-11-01/Complaints/{phoneNumber}"
	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/callcontrol.com/2015-11-01/api/2015-11-01/Complaints/{phoneNumber}")

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/callcontrol.com/2015-11-01/api/2015-11-01/Complaints/{phoneNumber}";
$opts = ["http" => [
    "method" => "GET",
]];
$ctx = stream_context_create($opts);
$res = file_get_contents($url, false, $ctx);
print_r(json_decode($res, true));
GET Reputation: Premium service which returns a reputation informaiton of a phone number via API.

This returns information required to perform basic call blocking behaviors Try with api_key 'demo' and phone numbers 18008472911, 13157244022, 17275567300, 18008276655, and 12061231234 (last one not spam)

https://api.apis.guru/v2/specs/callcontrol.com/2015-11-01/api/2015-11-01/Reputation/{phoneNumber}

Hover any highlighted part to learn what it does

curl -X GET "https://api.apis.guru/v2/specs/callcontrol.com/2015-11-01/api/2015-11-01/Reputation/{phoneNumber}"
import requests
response = requests.get(
    "https://api.apis.guru/v2/specs/callcontrol.com/2015-11-01/api/2015-11-01/Reputation/{phoneNumber}",
)
print(response.json())
const url = 'https://api.apis.guru/v2/specs/callcontrol.com/2015-11-01/api/2015-11-01/Reputation/{phoneNumber}';

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/callcontrol.com/2015-11-01/api/2015-11-01/Reputation/{phoneNumber}"
	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/callcontrol.com/2015-11-01/api/2015-11-01/Reputation/{phoneNumber}")

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/callcontrol.com/2015-11-01/api/2015-11-01/Reputation/{phoneNumber}";
$opts = ["http" => [
    "method" => "GET",
]];
$ctx = stream_context_create($opts);
$res = file_get_contents($url, false, $ctx);
print_r(json_decode($res, true));
GET Enterprise GET: GetUser Returns the current information from the user; try 12066194123 as demo

Enterprise GET: GetUser Returns the current information from the user; try 12066194123 as demo

https://api.apis.guru/v2/specs/callcontrol.com/2015-11-01/api/2015-11-01/Enterprise/GetUser/{phoneNumber}

Hover any highlighted part to learn what it does

curl -X GET "https://api.apis.guru/v2/specs/callcontrol.com/2015-11-01/api/2015-11-01/Enterprise/GetUser/{phoneNumber}"
import requests
response = requests.get(
    "https://api.apis.guru/v2/specs/callcontrol.com/2015-11-01/api/2015-11-01/Enterprise/GetUser/{phoneNumber}",
)
print(response.json())
const url = 'https://api.apis.guru/v2/specs/callcontrol.com/2015-11-01/api/2015-11-01/Enterprise/GetUser/{phoneNumber}';

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/callcontrol.com/2015-11-01/api/2015-11-01/Enterprise/GetUser/{phoneNumber}"
	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/callcontrol.com/2015-11-01/api/2015-11-01/Enterprise/GetUser/{phoneNumber}")

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/callcontrol.com/2015-11-01/api/2015-11-01/Enterprise/GetUser/{phoneNumber}";
$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 Call Control API?

Call Control API is a Company API. Developers commonly use company APIs for:

  • enriching CRM records with company firmographics
  • building lead-generation and prospecting tools
  • verifying business identity and registration details
  • monitoring competitors and market intelligence
  • powering B2B data enrichment pipelines

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