Receber por email
← Voltar para o catálogo

targeted-prospecting

Build a prospect list of companies with decision makers, verified contact info, and hiring/intent signals. Use when asked to find leads by industry, build an account list with specific titles, prospect companies that are actively hiring, or create a targeted outreach list filtered by company size, location, and hiring activity.

744estrelas
Atualizado há 4 meses

Ver no GitHub ↗

Como adicionar

/plugin marketplace add gooseworks-ai/goose-skills

O comando exato pode variar conforme o repositório. Confira o README no GitHub.

Para o autor da skill

Cole no README do seu repo

Mostra que sua skill está catalogada na Skillteca, gera backlink e tráfego rastreável.

[![Skillteca](https://www.skillteca.com.br/api/badge/targeted-prospecting/svg)](https://www.skillteca.com.br/skills/targeted-prospecting)

Alerta por categoria

Receba novas skills de Design e Frontend toda segunda

1 email curto, só com as skills novas de Design e Frontend. 4 minutos de leitura, sem spam, cancela com 1 clique.

Você confirma o email no primeiro envio. Sem spam. Cancela com 1 clique.

Ler descrição completa

Targeted Prospecting — Industry + Decision Makers + Hiring Signals

Setup

Read your credentials from ~/.gooseworks/credentials.json:

export GOOSEWORKS_API_KEY=$(python3 -c "import json;print(json.load(open('$HOME/.gooseworks/credentials.json'))['api_key'])")
export GOOSEWORKS_API_BASE=$(python3 -c "import json;print(json.load(open('$HOME/.gooseworks/credentials.json')).get('api_base','https://api.gooseworks.ai'))")

If ~/.gooseworks/credentials.json does not exist, tell the user to run: npx gooseworks login

All endpoints use Bearer auth: -H "Authorization: Bearer $GOOSEWORKS_API_KEY"

Build a prioritized prospect list for any industry. Finds companies matching your ICP, identifies decision makers by title, enriches with verified contact info, and layers on hiring/intent signals to prioritize who's ready to buy now.

Workflow

1. Parse the Request

Extract from the user's query:

  • Industry/vertical (required) — e.g., staffing, fintech, healthcare IT, construction
  • Decision maker titles (required) — e.g., COO, VP Engineering, Head of Marketing
  • Location (optional, default: US) — country, state, city, or region
  • Company size (optional) — employee count min/max, revenue floor
  • Hiring signal roles (optional) — job postings that indicate buying intent (e.g., "Scheduling Coordinator" = ops pain, "DevOps Engineer" = infra investment)
  • Max results (optional, default 15)
  • Company/product (optional) — if user mentions what they're selling, triggers competitive intel in Step 7

2. Find Target Companies

Run 2-3 search strategies in parallel:

Strategy A — Scrapegraph searchscraper (primary — most targeted results):

curl -s -X POST $GOOSEWORKS_API_BASE/v1/proxy/orthogonal/run \
  -H "Authorization: Bearer $GOOSEWORKS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"api":"scrapegraph","path":"/v1/searchscraper"}'
  "user_prompt": "top {industry} companies in {location} with company name, website, employee count, and headquarters",
  "num_results": 15
}'

Best source for industry-specific company lists. Returns targeted results from industry directories, Inc 5000 lists, and trade publications. In testing, returned 28 staffing companies in a single call vs Fiber's noisy mix of tech giants and staffing firms.

Strategy B — Fiber NL company search (co-primary — best structured data):

curl -s -X POST $GOOSEWORKS_API_BASE/v1/proxy/orthogonal/run \
  -H "Authorization: Bearer $GOOSEWORKS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"api":"fiber","path":"/v1/natural-language-search/companies"}'
  "query": "{industry} companies in {location} with {employee_min}+ employees",
  "pageSize": 20
}'

Returns structured company data with employee counts, domains, LinkedIn URLs, and descriptions. Caveat: For niche industries (staffing, construction, etc.), Fiber NL search often returns broad/noisy results mixed with unrelated companies. Filter results by industry keywords from the description, li_industries, and crunchbase_categories fields. Use company names field (not name_consensus) for the company name.

Strategy C — Nyne company search (supplemental — attempt, may return errors):

# Step 1: POST to start search
curl -s -X POST $GOOSEWORKS_API_BASE/v1/proxy/orthogonal/run \
  -H "Authorization: Bearer $GOOSEWORKS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"api":"nyne","path":"/company/search","body":{"query":"{industry} companies {location} {size_qualifier}"}}'
# Step 2: Poll with GET using request_id
curl -s -X POST $GOOSEWORKS_API_BASE/v1/proxy/orthogonal/run \
  -H "Authorization: Bearer $GOOSEWORKS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"api":"nyne","path":"/company/search","query":{"request_id":"REQUEST_ID"}}'

Nyne is async — POST returns a request_id, poll with GET until complete (5-20s). Note: Nyne company search can return 400 errors depending on query format. If it fails, proceed with Scrapegraph + Fiber results — don't block on Nyne.

Scaling Up

For 20+ results, run parallel searches by sub-region or sub-vertical:

# Parallel searches for different sub-regions
curl -s -X POST $GOOSEWORKS_API_BASE/v1/proxy/orthogonal/run \
  -H "Authorization: Bearer $GOOSEWORKS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"api":"fiber","path":"/v1/natural-language-search/companies"}'
  "query": "{industry} companies in New York with {size}+ employees",
  "pageSize": 15
}'

curl -s -X POST $GOOSEWORKS_API_BASE/v1/proxy/orthogonal/run \
  -H "Authorization: Bearer $GOOSEWORKS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"api":"fiber","path":"/v1/natural-language-search/companies"}'
  "query": "{industry} companies in California with {size}+ employees",
  "pageSize": 15
}'

3. Extract & Deduplicate

Merge results from all strategies. For each company, extract:

  • Company name
  • Domain / website URL
  • Employee count (primary size proxy — revenue data is often unavailable)
  • Headquarters / location
  • LinkedIn company URL (if returned by Fiber/Nyne)
  • Description / industry tags

Deduplicate by domain first, then by normalized company name. Apply user's size filters — use employee count as revenue proxy when revenue is unavailable (100+ employees ≈ $10M+ revenue as rough heuristic).

Enrich top companies with Brand.dev for industry context:

curl -s -X POST $GOOSEWORKS_API_BASE/v1/proxy/orthogonal/run \
  -H "Authorization: Bearer $GOOSEWORKS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"api":"brand-dev","path":"/v1/brand/retrieve","query":{"domain":"{company_domain}"}}'

4. Find Decision Makers

Cost ranking (25 results): Apollo $0.01 | Fiber $0.50 | Nyne/PDL $7.50. Always try Apollo first.

Best approach: Apollo search first, then Fiber for NL queries, then per-company fallbacks.

Primary — Apollo people search (cheapest at $0.01 flat):

curl -s -X POST $GOOSEWORKS_API_BASE/v1/proxy/apollo/mixed_people/search \
  -H "Authorization: Bearer $GOOSEWORKS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "person_titles": ["{title_1}", "{title_2}"],
  "person_locations": ["{location}"],
  "per_page": 25
}'

Fallback — Fiber NL profile search ($0.02/record, good for broad industry queries):

curl -s -X POST $GOOSEWORKS_API_BASE/v1/proxy/fiber/v1/natural-language-search/profiles \
  -H "Authorization: Bearer $GOOSEWORKS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "query": "{title_1} or {title_2} at a {industry} company in {location}",
  "pageSize": 15
}'

This is the highest-yield approach. Returns decision makers across the industry with LinkedIn URLs, current titles, and company names.

Per-company fallback — Fiber NL profile search ($0.02/record) (for companies not covered above):

curl -s -X POST $GOOSEWORKS_API_BASE/v1/proxy/fiber/v1/natural-language-search/profiles \
  -H "Authorization: Bearer $GOOSEWORKS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "query": "{title_1} or {title_2} at {company_name}",
  "pageSize": 5
}'

Per-company queries often return empty results, especially for large enterprises where C-suite profiles may not be indexed. Use this only for high-priority companies missing from the broad search.

Last resort — Nyne person search (EXPENSIVE: $0.30/record, async):

Only use if Apollo and Fiber returned insufficient results.

curl -s -X POST $GOOSEWORKS_API_BASE/v1/proxy/pdl/person/search \
  -H "Authorization: Bearer $GOOSEWORKS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"query":"{title} at {company_name} {location}"}'

Fallback — Scrapegraph website scrape (scrape the company's leadership page):

curl -s -X POST $GOOSEWORKS_API_BASE/v1/proxy/orthogonal/run \
  -H "Authorization: Bearer $GOOSEWORKS_API_KEY" \
  -H "Content-Type: applica
Compartilhar X LinkedIn