Search for a company by name, domain, LinkedIn, or Crunchbase
curl --request GET \
--url https://www.tryfundable.ai/api/v1/company/search \
--header 'Authorization: Bearer <token>'import requests
url = "https://www.tryfundable.ai/api/v1/company/search"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://www.tryfundable.ai/api/v1/company/search', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://www.tryfundable.ai/api/v1/company/search",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://www.tryfundable.ai/api/v1/company/search"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://www.tryfundable.ai/api/v1/company/search")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://www.tryfundable.ai/api/v1/company/search")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"success": true,
"data": {
"companies": [
{
"id": "550e8400-e29b-41d4-a716-446655440000",
"guru_permalink": "acme-corporation",
"name": "Acme Corporation",
"short_description": "AI-powered solutions for modern enterprises",
"relevance_score": 0.95,
"domain": "acme.com",
"linkedin": "<string>",
"crunchbase": "<string>"
}
]
},
"meta": {
"total_count": 1,
"page": 0,
"page_size": 1,
"credits_used": 0,
"credit_source": "monthly",
"monthly_credits_remaining": 990,
"purchased_credits_remaining": 500
}
}{
"success": false,
"error": {
"code": "MULTIPLE_SEARCH_PARAMS",
"message": "Only one search parameter is allowed at a time",
"details": {
"help": "You provided: name, domain. Please use only one of: name, domain, linkedin, or crunchbase"
}
}
}{
"error": {
"code": "AUTH_ERROR",
"message": "API key not provided",
"details": {
"help": "Please provide your API key in the Authorization header",
"format": "Bearer vg_your_api_key_here"
}
}
}{
"error": {
"code": "INSUFFICIENT_CREDITS",
"message": "Not enough credits to complete this request. Visit https://www.tryfundable.ai/api-access to purchase more.",
"details": {
"credits_needed": 25,
"monthly_credits_remaining": 0,
"purchased_credits_remaining": 0,
"help": "Purchase additional credits at https://www.tryfundable.ai/api-access or upgrade your plan."
}
},
"success": false
}{
"error": {
"code": "RATE_LIMIT_EXCEEDED",
"message": "Rate limit exceeded. Maximum 200 requests per minute.",
"details": {
"limit": 200,
"window": "60 seconds",
"help": "Please reduce your request frequency and try again."
}
},
"success": false
}{
"error": {
"code": "INTERNAL_SERVER_ERROR",
"message": "An unexpected error occurred",
"details": "<string>"
}
}Companies
Search Companies
Look up companies using one of four search methods. Exactly one parameter must be provided.
Search types:
name— Fuzzy name search with relevance scoringdomain— Company domain or full URLlinkedin— LinkedIn company URLcrunchbase— Crunchbase organization URL
Examples:
?linkedin=https://linkedin.com/company/stripe?crunchbase=https://crunchbase.com/organization/notion
GET
/
company
/
search
Search for a company by name, domain, LinkedIn, or Crunchbase
curl --request GET \
--url https://www.tryfundable.ai/api/v1/company/search \
--header 'Authorization: Bearer <token>'import requests
url = "https://www.tryfundable.ai/api/v1/company/search"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://www.tryfundable.ai/api/v1/company/search', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://www.tryfundable.ai/api/v1/company/search",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://www.tryfundable.ai/api/v1/company/search"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://www.tryfundable.ai/api/v1/company/search")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://www.tryfundable.ai/api/v1/company/search")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"success": true,
"data": {
"companies": [
{
"id": "550e8400-e29b-41d4-a716-446655440000",
"guru_permalink": "acme-corporation",
"name": "Acme Corporation",
"short_description": "AI-powered solutions for modern enterprises",
"relevance_score": 0.95,
"domain": "acme.com",
"linkedin": "<string>",
"crunchbase": "<string>"
}
]
},
"meta": {
"total_count": 1,
"page": 0,
"page_size": 1,
"credits_used": 0,
"credit_source": "monthly",
"monthly_credits_remaining": 990,
"purchased_credits_remaining": 500
}
}{
"success": false,
"error": {
"code": "MULTIPLE_SEARCH_PARAMS",
"message": "Only one search parameter is allowed at a time",
"details": {
"help": "You provided: name, domain. Please use only one of: name, domain, linkedin, or crunchbase"
}
}
}{
"error": {
"code": "AUTH_ERROR",
"message": "API key not provided",
"details": {
"help": "Please provide your API key in the Authorization header",
"format": "Bearer vg_your_api_key_here"
}
}
}{
"error": {
"code": "INSUFFICIENT_CREDITS",
"message": "Not enough credits to complete this request. Visit https://www.tryfundable.ai/api-access to purchase more.",
"details": {
"credits_needed": 25,
"monthly_credits_remaining": 0,
"purchased_credits_remaining": 0,
"help": "Purchase additional credits at https://www.tryfundable.ai/api-access or upgrade your plan."
}
},
"success": false
}{
"error": {
"code": "RATE_LIMIT_EXCEEDED",
"message": "Rate limit exceeded. Maximum 200 requests per minute.",
"details": {
"limit": 200,
"window": "60 seconds",
"help": "Please reduce your request frequency and try again."
}
},
"success": false
}{
"error": {
"code": "INTERNAL_SERVER_ERROR",
"message": "An unexpected error occurred",
"details": "<string>"
}
}Authorizations
API key provided as a Bearer token
Query Parameters
Fuzzy search by company name
Company domain or full URL (e.g., "stripe.com" or "https://stripe.com") — URLs are automatically parsed to extract the domain
LinkedIn company URL
Crunchbase organization URL
⌘I

