my-company-api
$
npx mdskill add myapihq/myapi/my-company-apiQuery a company database by behavioral signals and firmographics for ABM targeting.
- Filter companies by Goldfox confidence tier, country, headcount, and page signals.
- Depends on Goldfox crawl data and integrates with my-audience-api.
- Uses AND/OR logic across filter fields; empty filter defaults to high confidence.
- Returns companies with rich signal data for account-based targeting.
SKILL.md
.github/skills/my-company-apiView on GitHub ↗
---
name: my-company-api
version: 1.0.0
description: >
Company database backed by the Goldfox crawl. Filter companies by Goldfox confidence tier, country/TLD consistency, behavioral page signals (has_careers_page, has_investors_page, has_shop_page, has_c_level, has_decision_maker), legal-entity status, headcount, and source-URL count. Account-based targeting and B2B firmographics.
triggers: [companies, accounts, firmographics, abm, search, filter, goldfox, careers signal, investors, c-level, shop, b2b targeting]
checksum: sha256-pending
---
# MyCompanyAPI
A queryable company database for account-based targeting and B2B firmographics, sourced from the **Goldfox** crawl. Filter by confidence tier, country consistency, behavioral page signals, and quality thresholds — get back companies with rich signal data (headcount estimates, source count, careers/investors/shop presence, legal-entity flag).
## Capabilities
<!-- llm:start -->
Use when:
- Doing account-based targeting (pick companies first, find decision-makers second)
- Researching market segments by behavioral signals ("companies in DE with a careers page AND a c-level present")
- Combining with `my-audience-api` to save a company filter as a reusable audience
Filter contract — shared with `my-people-api` and the `filter` field of `my-audience-api`, minus people-only fields (`seniority`, `email_type`, `min_link_confidence`). OR within an array; AND across fields. **Empty filter = all rows with default confidence=high.**
```json
{
"confidence": ["high"],
"country": ["US", "DE"],
"country_consistent": true,
"tld_class": ["cctld"],
"has_c_level": true,
"has_decision_maker": true,
"has_careers_page": true,
"has_investors_page": false,
"has_shop_page": false,
"is_registered_entity": true,
"min_headcount": 5,
"min_source_count": 3,
"keyword": "platform",
"include_people": 3,
"limit": 100,
"offset": 0
}
```
Allowed values:
- **confidence**: `high` (default) / `low` / `very_low`
- **tld_class**: `cctld`, `generic`, `vanity`, `low_trust`, `other`
- **country**: ISO 3166-1 alpha-2; consensus across TLD + address + phone
- **keyword**: substring match on the company's domain
- **include_people**: 0–10; embed up to N people per company in the result
Behavioral signals (booleans):
- `has_c_level` — row has ≥1 person with seniority = c_level
- `has_decision_maker` — row has ≥1 person with seniority ∈ (c_level, vp_director)
- `has_careers_page` — `/careers`, `/jobs`, `/stellen`, `/karriere` etc. (growth-stage proxy)
- `has_investors_page` — `/investors`, `/ir/` (mature/public proxy)
- `has_shop_page` — `/shop`, `/store`, `/products`, `/cart` (e-commerce proxy)
- `is_registered_entity` — name has a recognized legal suffix (GmbH/Ltd/Inc/SARL/…)
- `country_consistent` — TLD + address + phone all agree on country (highest-trust geo)
<!-- llm:end -->
## Commands
<!-- generated:start -->
| Command | What it does |
|---|---|
| `myapi company search [--confidence <csv>] [--country <csv>] [--country-consistent] [--tld-class <csv>] [--has-c-level] [--has-decision-maker] [--has-careers-page] [--has-investors-page] [--has-shop-page] [--is-registered-entity] [--keyword <text>] [--min-headcount N] [--min-source-count N] [--include-people N] [--limit N] [--offset N]` | Filter companies; returns id/domain/name/country/confidence/headcount/sources/signals table |
| `myapi company get <company_id> [--include-people N]` | Get a single company, optionally with embedded people |
<!-- generated:end -->
The `signals` column in the search table compactly shows which behavioral booleans are true (e.g. `c-level,dm,careers`).
## Examples
<!-- llm:start -->
```bash
# 1. Registered DE companies with a careers page (growth signal)
myapi company search --country DE --is-registered-entity --has-careers-page --limit 20
# 2. E-commerce in FR/IT — companies with shop pages
myapi company search --country FR,IT --has-shop-page --confidence high
# 3. High-source-count companies (more validated rows) with embedded people
myapi company search --min-source-count 5 --include-people 3 --json | jq '.companies[0]'
# 4. Single company with up to 5 embedded people
myapi company get auroracloud.com --include-people 5
```
### End-to-end recipe — ABM target account list
```bash
# Save filter as audience (companies)
AID=$(myapi audience create "EU growth-stage SaaS" \
--source company \
--filter '{"country":["DE","FR","GB","NL"],"has_careers_page":true,"has_decision_maker":true,"min_source_count":3}' \
--json | jq -r .id)
# Pull members for outreach planning
myapi audience members $AID --limit 50 --json > accounts.json
```
<!-- llm:end -->
## Notes
- Goldfox confidence tiers matter: `high` (default) is the curated 96.4% of rows; widen with `low` only for spot-check work, and `very_low` rows usually get dropped.
- `seniority`, `email_type`, and `min_link_confidence` are people-only — passing them on company search is silently ignored.
- `include_people` only works on company search/get; people-source already embeds company by default.
- `keyword` is a substring match on the company's **domain** — use `--keyword stripe` to find domains containing "stripe".
- For a persistent account list, use `my-audience-api` with `--source company`.
Run `myapi company --help` for full flag reference.