Company Logos API
The Company Logos API provides seamless access to a comprehensive repository of high-quality, scalable company logos, suitable for integration into websites and applications.
Why Use This API
Extensive Database
Access a vast collection of company logos with over thousands of entries, ensuring you can find the logo you need.
Scalable Formats
Receive logos in various formats and sizes which can be easily integrated into web and app projects.
Secure Access
Gain secure access using API keys, ensuring that your data and requests remain safe and private.
Real-Time Updates
Benefit from real-time database updates, ensuring you receive the most current logos available.
Quick Start
Get started in under a minute:
- Register API Key — Sign up and obtain your unique API key for accessing the Company Logos API.
- Integrate Endpoint — Use the `/api/v1/company-logos` endpoint to start retrieving company logos in your applications.
- Retrieve Logos — Send a request with a company name or domain to obtain the corresponding logo instantly.
curl -X GET 'https://precisioncounter.com/api/v1/company-logos?query=apple&format=png&size=large&apiKey=YOUR_API_KEY'
import requests
response = requests.get('https://precisioncounter.com/api/v1/company-logos',
params={'query': 'apple', 'format': 'png', 'size': 'large', 'apiKey': 'YOUR_API_KEY'})
logo_url = response.json()['logo_url']
print(logo_url)
const fetch = require('node-fetch');
fetch('https://precisioncounter.com/api/v1/company-logos?query=apple&format=png&size=large&apiKey=YOUR_API_KEY')
.then(response => response.json())
.then(data => console.log(data.logo_url))
.catch(error => console.error('Error:', error));
API Reference
Base URL
https://precisioncounter.com/api/v1
Authentication
All requests require an API key passed in the Authorization header:
Authorization: Bearer YOUR_API_KEY
Company Logos
This endpoint allows users to fetch high-quality logos by providing a company name or domain.
Request Parameters
| Parameter | Type | Description |
|---|---|---|
| query required | string | The company name or domain to search for the corresponding logo. |
| format optional | string | Desired logo format (e.g., png, jpg, svg). Defaults to png. |
| size optional | string | Preferred logo size (e.g., small, medium, large). Defaults to medium. |
| apiKey required | string | Your unique API key to authenticate with the API. |
Response
200 OK — A successful response contains the details and a direct URL to the requested company logo.
Response Headers
| Header | Value |
|---|---|
| Content-Type | Indicates the media type of the resource. |
| Date | The date and time when the response was generated. |
Code Examples
import requests
def get_company_logo(company_name):
try:
response = requests.get('https://precisioncounter.com/api/v1/company-logos',
params={'query': company_name, 'format': 'png', 'size': 'large', 'apiKey': 'YOUR_API_KEY'})
response.raise_for_status()
return response.json()['logo_url']
except requests.exceptions.RequestException as e:
print(f'An error occurred: {e}')
logo_url = get_company_logo('apple')
if logo_url:
print('Logo URL:', logo_url)
const fetch = require('node-fetch');
async function getCompanyLogo(companyName) {
try {
const response = await fetch(`https://precisioncounter.com/api/v1/company-logos?query=${encodeURIComponent(companyName)}&format=png&size=large&apiKey=YOUR_API_KEY`);
if (!response.ok) {
throw new Error(`HTTP error! status: ${response.status}`);
}
const data = await response.json();
return data.logo_url;
} catch (error) {
console.error('Error:', error);
}
}
getCompanyLogo('apple').then(logoUrl => console.log('Logo URL:', logoUrl));
<?php
function getCompanyLogo($company_name) {
$url = 'https://precisioncounter.com/api/v1/company-logos';
$params = http_build_query([ 'query' => $company_name, 'format' => 'png', 'size' => 'large', 'apiKey' => 'YOUR_API_KEY' ]);
$ch = curl_init("$url?$params");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
if ($response === false) {
throw new Exception(curl_error($ch), curl_errno($ch));
}
$responseData = json_decode($response, true);
curl_close($ch);
return $responseData['logo_url'];
}
try {
$logoUrl = getCompanyLogo('apple');
echo "Logo URL: $logoUrl\n";
} catch (Exception $e) {
echo 'Curl error: ' . $e->getMessage();
}
package main
import (
"encoding/json"
"fmt"
"io/ioutil"
"log"
"net/http"
)
func getCompanyLogo(companyName string) (string, error) {
url := fmt.Sprintf("https://precisioncounter.com/api/v1/company-logos?query=%s&format=png&size=large&apiKey=YOUR_API_KEY", companyName)
resp, err := http.Get(url)
if err != nil {
return "", err
}
defer resp.Body.Close()
body, err := ioutil.ReadAll(resp.Body)
if err != nil {
return "", err
}
var result map[string]string
if err := json.Unmarshal(body, &result); err != nil {
return "", err
}
return result["logo_url"], nil
}
func main() {
logoUrl, err := getCompanyLogo("apple")
if err != nil {
log.Fatalf("Error: %v", err)
}
fmt.Println("Logo URL:", logoUrl)
}
require 'net/http'
require 'json'
class CompanyLogoFetcher
BASE_URL = 'https://precisioncounter.com/api/v1/company-logos'
def self.get_logo(company_name)
uri = URI(BASE_URL)
params = { query: company_name, format: 'png', size: 'large', apiKey: 'YOUR_API_KEY' }
uri.query = URI.encode_www_form(params)
response = Net::HTTP.get(uri)
data = JSON.parse(response)
data['logo_url']
rescue StandardError => e
puts "An error occurred: #{e.message}"
end
end
logo_url = CompanyLogoFetcher.get_logo('apple')
puts "Logo URL: #{logo_url}" if logo_url
using System;
using System.Net.Http;
using System.Threading.Tasks;
using Newtonsoft.Json.Linq;
class Program
{
private static async Task<string> GetCompanyLogoAsync(string companyName)
{
var client = new HttpClient();
var requestUri = $"https://precisioncounter.com/api/v1/company-logos?query={companyName}&format=png&size=large&apiKey=YOUR_API_KEY";
var response = await client.GetAsync(requestUri);
response.EnsureSuccessStatusCode();
var content = await response.Content.ReadAsStringAsync();
var json = JObject.Parse(content);
return json["logo_url"].ToString();
}
static async Task Main(string[] args)
{
try
{
var logoUrl = await GetCompanyLogoAsync("apple");
Console.WriteLine("Logo URL: " + logoUrl);
}
catch (Exception ex)
{
Console.WriteLine("An error occurred: " + ex.Message);
}
}
}
Error Handling
The API returns standard HTTP status codes with JSON error bodies:
| Status | Meaning | Description |
|---|---|---|
| 200 | OK | The request has succeeded and the logo has been retrieved. |
| 400 | Bad Request | The request was invalid, often due to a missing or incorrect parameter. |
| 401 | Unauthorized | API key was missing or invalid, preventing authentication. |
| 429 | Too Many Requests | The request limit has been exceeded, throttling is in effect. |
| 500 | Internal Server Error | The server encountered an error and could not complete the request. |
Error Response Format
{
"error": "Description of what went wrong",
"code": "ERROR_CODE",
"status": 400
}
Rate Limits
| Plan | Requests / Minute | Max File Size | Max Resolution |
|---|---|---|---|
| Free | 60 | 500KB | 1024x768 |
| Pro | 600 | 5MB | 4096x3072 |
Rate limit headers are included in every response:
X-RateLimit-Limit: 10 X-RateLimit-Remaining: 7 X-RateLimit-Reset: 1708646400
Use Cases
- Web Development
- App Integration
- Data Visualization
- Logo Hosting
- Security Platforms
- Digital Marketing
- AI Training
Pricing
Get free API credits when you sign up. No credit card required.