Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.thehog.ai/llms.txt

Use this file to discover all available pages before exploring further.

The company search endpoint is the starting point for building targeted account lists. You send a POST request with any combination of filters — text query, firmographics, technographics, and buying signals — and get back a ranked list of companies with match scores and signal summaries. All filters are optional, so you can start broad and narrow down incrementally.

Endpoint

POST https://api.thehog.ai/api/companies/search

Request fields

Text & Identity

query — free-text search on company name or domain (up to 256 characters)domain — exact or partial domain filter (e.g. acme.com)

Firmographics

industry, location, founding_year_min/max, employee_count_min/max, revenue_min/max

Technographics

tech_stack — array of tool names the company must be using (e.g. ["Salesforce", "HubSpot"])

Signals

hiring (boolean), funding (boolean), growth ("low" | "medium" | "high")

Pagination

FieldDefaultMaximumNotes
limit20100Results per page
offset0Number of records to skip

Project context

Pass a projectId in the request body (or use the X-Project-Id header) to layer your project’s brand voice, personas, and competitive intel onto results. When a projectId is set, the response includes a projectContext object with that information.

Examples

curl -X POST https://api.thehog.ai/api/companies/search \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "query": "Acme",
    "limit": 10
  }'

Response

A successful search returns HTTP 200 with the company list and pagination fields at the top level of the response (no data wrapper on the companies array).
{
  "companies": [
    {
      "id": "c_01hxyz",
      "name": "Acme Corp",
      "domain": "acme.com",
      "website": "https://acme.com",
      "industry": "Software",
      "employee_count": 220,
      "location": "San Francisco, CA",
      "founding_year": 2014,
      "revenue_min": 5000000,
      "revenue_max": 20000000,
      "tech_stack": ["Salesforce", "HubSpot", "Segment"],
      "is_hiring": true,
      "has_recent_funding": false,
      "growth_band": "high",
      "match_score": 0.92,
      "signal_summary": ["hiring in sales", "high growth band"],
      "keyword_category": "PPC - CRM"
    }
  ],
  "total": 142,
  "hasMore": true,
  "projectContext": {
    "brandVoice": "Direct, outcome-focused messaging for RevOps leaders.",
    "personas": ["RevOps Leader", "VP Sales"],
    "isCompetitor": false,
    "competitiveIntel": null
  },
  "metering": {
    "creditsCharged": 1,
    "estimatedMaxCredits": 3
  }
}

Response fields

FieldTypeDescription
companiesarrayList of matching CompanyCard objects (see below)
totalnumberTotal matching records across all pages
hasMorebooleantrue when more pages are available
projectContextobjectPresent only when projectId is set; includes brandVoice, personas, isCompetitor, competitiveIntel
meta.costobjectCredit usage for this request

CompanyCard fields

FieldTypeDescription
idstringUnique company identifier
namestringCompany display name
domainstringPrimary domain
websitestringFull website URL
industrystringIndustry classification
employee_countnumberHeadcount
locationstringHeadquarters location
founding_yearnumberYear the company was founded
revenue_min / revenue_maxnumberAnnual revenue range in USD
tech_stackstring[]Technologies and tools detected
is_hiringbooleanWhether the company is actively hiring
has_recent_fundingbooleanWhether the company has had recent funding activity
growth_bandstring"low", "medium", or "high"
match_scorenumberRelevance score from 0 to 1
signal_summarystring[]Short human-readable signal descriptions

Steps to build a target account list

1

Start with a broad query

Run a search with just industry and location to gauge the universe of matching companies and inspect the total field.
2

Layer in technographic filters

Add tech_stack with the tools your product integrates with or competes against. This is often the highest-signal filter for ICP fit.
3

Add buying signals

Set hiring: true, funding: true, or growth: "high" to surface companies that are in an active growth phase and more likely to be evaluating new vendors.
4

Paginate through results

Use limit and offset to page through large result sets. The hasMore field tells you when there are additional pages.
5

Drill into people

Take the id from any company result and pass it as companyId to POST /api/people/search to find contacts at that account.