Hyreflow
Integrations

Shovels

US building-permit and contractor data for construction/trades sourcing. BYOK-only on Hyreflow. Key gotcha: everything keys off a geo_id.

Reach for Shovels when you're sourcing or recruiting in construction and the trades (electrical, HVAC, roofing, solar) — it turns US building-permit and contractor data into directly-contactable individuals and active, growing firms.

Shovels is BYOK-only — it isn't resold on managed credits. Bring your own Shovels key; calls are free on Hyreflow (you pay Shovels directly). size is still your usage dial on their side — search_contractors and the detail sub-trees bill per record on your Shovels account.

Capabilities

Cost below is on your own Shovels account (BYOK-only) — Hyreflow charges 0 credits for every Shovels call.

ToolDoesShovels-side cost
shovels_search_addressesResolve an address → geo_idMetered
shovels_search_citiesResolve cities → geo_idsMetered
shovels_search_permitsPermit activity (hiring signal) for a geo + date rangeMetered
shovels_search_contractorsActive contractors in a geo + date range (candidates / BD targets)~1 record / result
shovels_get_contractor_employeesPer-firm roster: named staff with role, seniority, dept, email, LinkedInLikely per-record — gate size
shovels_get_contractor_permitsAll of a contractor's permitsPer permit — cost trap
shovels_list_tagsValid permit/trade tags (use before filtering by trade)Metered
shovels_get_usageBalance / credits usedFree

Guidance

  • geo_id first, always. Resolve the place with search_addresses/search_cities/etc., then pass geo_id to the searches. search_permits and search_contractors both REQUIRE geo_id + permit_from + permit_to (YYYY-MM-DD).
  • Record richness scales with firm size: established firms return email (often comma-multi-value — parse the non-free-mail one for the corporate domain), linkedin_url, phone, revenue, employee_count; solo operators return only name + phone + trade → enrich those externally.
  • get_contractor_employees is the candidate goldmine — full individual records (name, title, seniority, dept, personal email, linkedin_url). Candidate outreach uses the personal email; BD uses business_email. Ask the customer which before pulling. Unverified/inferred endpoint — pilot before relying on it.
  • EEO hard rule: the employee record carries a consumer overlay (gender, age, marital/parental status, income). NEVER filter or screen candidates on these. Use only title / seniority / department / location / skills.
  • Trade is an enum, not free textclassification_derived="solar" returns 0. Discover valid values via list_tags first.
  • Cost traps (on your Shovels account): get_contractor_permits returns ALL permits billed per record; gate it — this is also an unverified/inferred endpoint, pilot before relying on it. get_contractor/get_contractor_metrics paths are unverified — use search results instead.
hyreflow tools execute shovels shovels_search_contractors \
  --payload '{"geo_id":"<geo_id>","permit_from":"2026-01-01","permit_to":"2026-06-01","size":25}'

Run shovels_get_usage and a 0-result or small-size pilot before any bulk pull — a 0-result search costs 0, and size is the only cost dial on contractor calls.

On this page