Use cases / Website Contacts API, Crunchbase API, Trustpilot Reviews API, Glassdoor API
Account research briefs
Last updated September 28, 2026. Response excerpts are recorded from the live API.
Who
Who runs this, and what for
| Team | What they decide with it |
|---|---|
| Account executives | What to open a first call with, from facts about the account. |
| Procurement and vendor risk teams | Whether a supplier's customer and employee sentiment raises a flag. |
| Analysts | How a company compares with peers on the same fields, in a table. |
Pipeline
The calls, step by step
01Contacts from the company's website
Emails, phones in E.164, social profiles, and postal addresses the company publishes, each with the page it came from.
GET /v1/contacts?domain=stripe.com · company
{ "name": "Stripe", "legal_name": "Stripe, LLC", "description": "Stripe powers online and in-person payment processing and financial solutions for businesses of all sizes.", "logo": "https://images.stripeassets.com/fzn2n1nzq965/1hgcBNd12BfT9VLgbId7By/01d91920114b124fb4cf6d448f9f06eb/favicon.svg", "country": "US", "language": "en-US" }Recorded response. Live values differ. 02Company facts from Crunchbase
Headquarters, employee range, operating and IPO status, founders, and funding rounds from the public profile.
GET /v1/organization?engine=crunchbase&permalink=stripe · organization.headquarters
{ "city": "South San Francisco", "region": "California", "country": "United States", "continent": "North America" }Recorded response. Live values differ. 03Customer and employee ratings
Trustpilot gives the TrustScore and review count; Glassdoor gives the overall employee rating and CEO approval. Together they show how the company treats both sides.
GET /v1/company?engine=glassdoor&employer_id=9079&slug=Google · company.ratings
{ "overall": 4.4, "career_opportunities": 4.2, "compensation_and_benefits": 4.5, "culture_and_values": 4.2, "diversity_and_inclusion": 4.4, "senior_management": 3.9, "work_life_balance": 4.2, "recommend_to_friend_pct": 87, "ceo_approval_pct": 83, "business_outlook_pct": 82 }Recorded response. Live values differ.
Code
A script to start from
account_brief.py
# One-page account brief from a company's domain and name: what it
# publishes, how employees and customers rate it, and its Crunchbase facts.
import os, requests
API = "https://api.clair.im"
HEADERS = {"Authorization": f"Bearer {os.environ['CLAIR_API_KEY']}"}
def get(path, **params):
r = requests.get(f"{API}{path}", headers=HEADERS, timeout=90, params=params)
r.raise_for_status()
return r.json()
def brief(domain, name, permalink):
site = get("/v1/contacts", domain=domain, pages=5)
org = get("/v1/organization", engine="crunchbase", permalink=permalink)["organization"]
tp = get("/v1/reviews", domain=domain)["business"]
gd_hit = get("/v1/company/search", engine="glassdoor", q=name)["results"][0]
gd = get("/v1/company", engine="glassdoor", employer_id=gd_hit["employer_id"],
slug=gd_hit["slug"])["company"]
hq = org["headquarters"] or {}
return {
"company": org["name"], "hq": f"{hq.get('city')}, {hq.get('country')}",
"employees": org["employee_range"], "status": org["ipo_status"],
"founders": [f["name"] for f in org["founders"]],
"funding_rounds": org["funding"]["num_rounds"],
"emails": [e["value"] for e in site["emails"] if e["domain_match"]],
"phones": [p["e164"] for p in site["phones"]],
"trustpilot": f"{tp['trust_score']} from {tp['review_count']} reviews",
"glassdoor": f"{gd['ratings']['overall']}, CEO approval {gd['ratings']['ceo_approval_pct']}%",
}
print(brief("stripe.com", "Stripe", "stripe"))
Set CLAIR_API_KEY to a key subscribed to the Website Contacts API and Crunchbase API and Trustpilot Reviews API and Glassdoor API. Each call is one request against that API's monthly quota.
Cost
What it costs per month
| Schedule | Requests | Plan | Per month | Per 1,000 |
|---|---|---|---|---|
| 50 briefs a monthPer brief: 1 contacts, 1 Crunchbase, 1 Trustpilot, 2 Glassdoor calls. | 250 | Pay as you go + Pay as you go + Pay as you go + Pay as you go | $2.56 | $10.24 |
| 500 briefs a month500 × 5 calls. | 2,500 | Pay as you go + Pay as you go + Pay as you go + Pay as you go | $25.55 | $10.22 |
| 500 briefs, contacts and Crunchbase only500 × 2 calls, the lightest useful brief. | 1,000 | Pay as you go + Pay as you go | $15.10 | $15.10 |
Limits
What to plan for
- Each API is a separate subscription. Start with the two or three that answer your question, not all four.
- Crunchbase needs the permalink and Glassdoor matches on name; check the match for companies with common names.
- Not every company is on Trustpilot or Glassdoor. Handle a 404 or an empty search as no data, not an error.
FAQ
Common questions
Can I start from a domain only?
The contacts lookup and Trustpilot take the domain. Crunchbase and Glassdoor need a name or permalink; the company name from the contacts lookup is a good start.
How long does a brief take?
Each call reads a live page and takes seconds. Run the five calls in parallel and a brief takes about as long as the slowest one.
Does it include funding amounts?
No. Crunchbase hides funding totals from signed-out visitors; the brief has the number of rounds and the last round type.
Run it on your own products
200 requests a month free on each API, no card. Enough to run the pipeline on a short list before choosing a plan.
Bloomberg News API
Associated Press API
Glassdoor API
Greenhouse Jobs API

Crunchbase API
Website Contacts API