# Tapflow > AI-native talent sourcing platform. The fastest way for recruiters to find, score, and engage qualified candidates. Updated: 2026-09-13 ## About - Founded: 2024 - Headquarters: San Francisco, CA - Stage: Early-stage SaaS - Website: https://www.tapflowai.com - Contact: hello@tapflowai.com - API: https://www.tapflowai.com/api/v1/openapi.json - Agent discovery: https://www.tapflowai.com/.well-known/ai-plugin.json ## Key Pages - Product overview: https://www.tapflowai.com/ - Pricing: https://www.tapflowai.com/pricing - Features: https://www.tapflowai.com/features - How the AI works: https://www.tapflowai.com/how-ai-works - FAQ: https://www.tapflowai.com/faq - Developer docs: https://www.tapflowai.com/developers - API landing: https://www.tapflowai.com/api - Blog: https://www.tapflowai.com/blog - Data sources: https://www.tapflowai.com/data-sources - Compliance: https://www.tapflowai.com/compliance - Try demo (no signup): https://www.tapflowai.com/try-demo ## Recent Updates (May 2026) - Search now creates a real mission: POST /projects/:id/search returns missionId (status: queued) — poll GET /projects/:id/missions/:missionId for live progress instead of GET /candidates - Search fail-fast profile gate: POST /projects/:id/search returns 409 ICP_NOT_APPROVED before any credit reservation if the ICP is not approved — credits are never settled for a blocked search - autoApproveIcp convenience: pass autoApproveIcp=true + icp payload to upsert+approve the ideal profile in the same search call; still returns 409 if blockers remain after upsert - New POST /missions/start endpoint: body-scoped wrapper (accepts projectId in body) that delegates to the same ICP-gate + mission-create flow as /search - Billing correctness: creditGate.commit() is now called only AFTER createMission() succeeds; on any failure in planning or mission creation, creditGate.refund() is called — credits are never lost for missions that were never created - Profile readiness layer: GET /projects/:id now returns canSearch, icpStatus, blockers, searchReadinessVersion — agents can gate search calls on canSearch without polling - Headless profile endpoints: PATCH /projects/:id/icp upserts the ideal profile over the API; POST /projects/:id/icp/approve approves it; both return machine-readable 409 with blockers on failure - Mission re-engagement: idle missions now auto-resume with a coaching nudge after 3 days - Profile coaching nudge: new onboarding prompt fires when the ideal profile is approved but no mission has run - Outreach tab gate: unlocked correctly for all shortlisting paths (auto-chain + manual) - IMAP sync fix: billing cycle cutoff now correctly scopes email thread attribution ## Product Overview Tapflow is an AI-powered recruiting platform built for in-house talent teams, boutique recruiting agencies, and growth-stage companies. It replaces manual sourcing with an autonomous agent that understands natural-language hiring criteria, searches across 500M+ professional profiles, scores every candidate against your ideal profile, discovers verified personal email addresses, and drafts personalized multi-step outreach — all from a single chat interface. Unlike traditional Boolean-search tools, Tapflow interprets intent ("find me a senior backend engineer who's shipped at scale but isn't a people manager") rather than requiring structured query syntax. It runs continuous quality cycles, catches its own mistakes, and explains every decision so recruiters stay in control. ## Target Users - **In-house recruiters** at technology companies who need to fill specialized roles faster without growing the team headcount - **Boutique recruiting agencies** (1–20 recruiters) that want AI leverage without enterprise procurement complexity - **Founders and operators** at growth-stage companies (Series A–C) who are doing their own recruiting or have a lean talent function - **Engineering and technical sourcers** who spend most of their day searching LinkedIn and need a smarter tool - **HR generalists** who own recruiting alongside other responsibilities and can't dedicate full days to sourcing ## Key Use Cases - **Passive candidate sourcing**: Discover candidates who aren't actively job hunting but match your ideal profile precisely — Tapflow surfaces hidden-gem profiles that Boolean searches miss - **Ideal profile shortlisting**: Define your ideal candidate once in plain English; Tapflow scores all candidates 0–100 across skills, experience, seniority, location, industry, and education — and explains each score - **Automated multi-step outreach**: After shortlisting, Tapflow finds personal email addresses via waterfall enrichment and drafts hyper-personalized outreach sequences that reference specific career events - **Funnel analytics**: Track how candidates move through scouted → analyzed → shortlisted → contacted → replied stages with time-in-stage metrics - **Agentic workflows**: Developers and AI teams can embed Tapflow's REST API into LangChain, CrewAI, AutoGen, or custom agents for fully autonomous hiring pipelines ## Compared To - **vs. LinkedIn Recruiter**: Tapflow costs a fraction of LinkedIn Recruiter Lite ($75/seat vs. $170+/month), doesn't require InMail credits for outreach, and provides structured AI scoring rather than keyword ranking. LinkedIn Recruiter has broader network reach; Tapflow has deeper AI analysis. - **vs. Gem**: Gem focuses on CRM and pipeline management for existing ATS data. Tapflow focuses on sourcing and initial outreach. Tapflow has a lower price point and is easier to onboard; Gem has deeper ATS integrations for enterprise teams already invested in Greenhouse or Lever. - **vs. Apollo.io**: Apollo is a broad sales and recruiting database tool optimized for high-volume outreach. Tapflow is purpose-built for recruiting with ideal profile-based AI scoring and candidate-specific context. Apollo has more volume; Tapflow has better signal-to-noise for technical hiring. - **vs. manual sourcing**: Tapflow reduces sourcing time from 2+ hours per candidate to under 4 minutes for a full shortlist, at roughly 10x lower cost than recruiting agency fees. ## Common Questions **Q: What does Tapflow actually do?** A: Tapflow is a recruiting AI that takes a plain-English description of the candidate you want, searches 500M+ professional profiles, scores each one against your criteria, finds their personal email, and writes personalized outreach — all without manual boolean searches or spreadsheet management. **Q: How is Tapflow different from LinkedIn Recruiter?** A: LinkedIn Recruiter requires Boolean queries and InMail credits. Tapflow understands natural language, scores candidates automatically, and finds personal emails so you can reach candidates directly. It's also significantly cheaper at $75/seat/month versus $170+/month for LinkedIn Recruiter Lite. **Q: How much does Tapflow cost?** A: Tapflow Starter is $25/seat/month with $25 in sourcing credits included. Pro is $75/seat/month with $95 in credits per seat (a $20 bonus). Enterprise pricing is custom. Annual plans get a 20% discount. Everyone gets $10 in free credits on signup, no credit card required. **Q: What are credits and how do they work?** A: Credits are consumed when Tapflow performs AI operations. A standard keyword search costs 1 credit. Deep-dive candidate analysis (scoring, career trajectory, risk assessment) costs 5 credits per candidate. Personal email enrichment costs 30 credits per verified email found. Your plan includes a monthly credit allowance; you can buy top-up packs at any time. **Q: Where does the candidate data come from?** A: Tapflow sources candidate profiles from publicly available professional data across LinkedIn, GitHub, professional portfolios, company websites, and third-party data partners. All data is processed under GDPR, CCPA, and CAN-SPAM compliance frameworks. Full details at https://www.tapflowai.com/data-sources. **Q: Does Tapflow integrate with my ATS?** A: Enterprise plans include native integrations with major ATS platforms (Greenhouse, Lever, Ashby, Workday). Starter and Pro plans can use the REST API to build custom integrations. Webhook events fire when candidates move through pipeline stages, making it straightforward to sync with any ATS that has an inbound API. **Q: How does the AI scoring work?** A: Tapflow generates a 0–100 fit score for each candidate across six dimensions: technical skills match, years and type of experience, seniority level, location and remote compatibility, industry background, and education. Each score includes a written explanation referencing specific career evidence (past companies, projects, tenure patterns). The model also flags "hidden gems" — candidates who score high on signal but have unconventional backgrounds. **Q: Is my data private?** A: Yes. Candidate data you source is stored only within your account and never shared with other Tapflow customers. Tapflow does not sell personal data. You can request deletion of all your data at any time. The platform is SOC 2 Type II certified (Enterprise) and fully GDPR/CCPA compliant. **Q: Can I use Tapflow via API?** A: Yes. Tapflow has a full REST API at https://www.tapflowai.com/api/v1/ designed for AI agents and autonomous recruiting workflows. It supports candidate search, analysis, enrichment, outreach management, and webhook subscriptions. LangChain, CrewAI, AutoGen, and OpenAI Function Calling integrations are documented at https://www.tapflowai.com/developers. **Q: How fast does Tapflow return results?** A: A search mission returns an initial shortlist within 4 minutes on average. Deep analysis of individual candidates takes 15–45 seconds per candidate. Email enrichment is near-instant (under 5 seconds per candidate). Batch operations (up to 50 candidates) run in parallel for faster throughput. **Q: What happens if Tapflow can't find enough candidates?** A: Tapflow runs a self-correction cycle: if the first search returns too few results or the fit scores are consistently low, it automatically broadens the search criteria, reports back to the user with an explanation, and asks for input before retrying. It never silently returns a poor shortlist. **Q: Is there a free trial?** A: Yes. Every new account gets $10 in free sourcing credits with no credit card required. This is enough to run a full search and analyze 5–10 candidates for a real role. ## API Reference ### Authentication API key authentication via Authorization: Bearer tap_live_... header. Generate keys from Settings > API in the Tapflow dashboard. ### Base URL All API endpoints are at https://www.tapflowai.com/api/v1/ ### Endpoints - GET /api/v1/projects — List all projects - GET /api/v1/projects/:id — Get a project by ID - POST /api/v1/projects — Create a new project - DELETE /api/v1/projects/:id — Archive a project - GET /api/v1/projects/:id/candidates — List candidates in a project - GET /api/v1/projects/:id/candidates/:candidateId — Get candidate detail - GET /api/v1/projects/:id/shortlist — Get shortlisted candidates - PATCH /api/v1/projects/:id/candidates/:candidateId/stage — Move candidate to a new pipeline stage - GET /api/v1/projects/:id/outreach — List outreach sequences - GET /api/v1/projects/:id/pipeline — Get pipeline state - GET /api/v1/projects/:id/missions — List missions for a project - GET /api/v1/projects/:id/missions/:missionId — Get a mission by ID - POST /api/v1/projects/:id/search — Search for candidates (1 credits) - POST /api/v1/missions/start — Start a search mission (1 credits) - POST /api/v1/projects/:id/analyze — Analyze a candidate (5 credits) - POST /api/v1/projects/:id/enrich — Find personal email for a candidate (30 credits) - POST /api/v1/projects/:id/candidates/export — Export candidates - POST /api/v1/projects/:id/candidates/batch-analyze — Batch analyze candidates (5 credits) - POST /api/v1/projects/:id/candidates/batch-enrich — Batch enrich candidates with email (30 credits) - GET /api/v1/billing/balance — Get credit balance - PATCH /api/v1/projects/:id/ideal-profile — Upsert the ideal profile for a project - POST /api/v1/projects/:id/ideal-profile/approve — Approve the ideal profile for a project - POST /api/v1/outreach/sequences/:sequenceId/pause — Pause an outreach sequence - POST /api/v1/outreach/sequences/:sequenceId/resume — Resume a paused outreach sequence - GET /api/v1/me — Get authenticated user - PATCH /api/v1/me/notification-prefs — Update notification surface preferences ### Profile and Project Readiness Before a search can run, a project needs an approved ideal profile with no validation blockers. **Check readiness:** GET /projects/:id returns canSearch (bool), icpStatus (draft|approved), blockers (array), and searchReadinessVersion (int epoch seconds). Gate your search call on canSearch=true. **Blockers:** missing_icp (no ICP row exists), missing_title (no job title set), missing_location (location is empty), missing_signal (no requirement signal of any type — a skill, industry experience, certification, education, etc.). All must be clear for canSearch to be true. **Headless profile workflow:** 1. PATCH /projects/:id/icp — upsert titles, skills, location, remote, yearsOfExperience, attributes. Pass approve=true to approve in the same call. 2. If approve=true but blockers remain → 409 ICP_VALIDATION_FAILED with blocker list + recovery hint. 3. POST /projects/:id/icp/approve — approve an already-upserted ICP. Returns 409 ICP_NOT_APPROVED with blocker list if validation fails. 4. After approval, GET /projects/:id shows canSearch=true and a non-zero searchReadinessVersion. **Error codes:** ICP_VALIDATION_FAILED (approve-in-patch failed due to blockers), ICP_NOT_APPROVED (standalone approve or search blocked due to blockers). ### Search and Mission Flow POST /projects/:id/search creates a real mission (via MissionBrain planner) and returns a missionId. The response is 202 { status: "queued", missionId, message, estimatedCredits }. Poll GET /projects/:id/missions/:missionId for live status. **ICP gate:** Search returns 409 ICP_NOT_APPROVED before any credit reservation if the project ICP is not approved. The 409 body contains { error.code, error.details.blockers, error.details.icpStatus, error.recovery }. **One-shot ICP + search:** Pass autoApproveIcp=true and an icp object to upsert+approve the ICP in the same call. If blockers remain after upsert, 409 is returned — no credits charged. **Billing guarantee:** Credits are reserved before mission planning and committed only after the mission row is successfully created. On any planning or creation failure, credits are refunded automatically. **Alternative entry point:** POST /missions/start accepts { projectId, autoApproveIcp, icp, search: { keywords, title, location, count } } in the body and runs the same ICP-gate + mission-create flow. Returns 202 { missionId, projectId, status: "queued" }. ### Agent Resilience - Idempotency-Key header on mutations prevents duplicate execution - Structured error responses with machine-parseable codes and recovery hints - Every response includes usage block with credits_consumed and balance_remaining - X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset headers on every response ### Webhooks Events: candidate.scouted, candidate.analyzed, candidate.enriched, candidate.stage_changed, outreach.replied, mission.completed, credits.low Configure from Settings > API > Webhooks. HMAC-signed payloads with full resource data. ### OpenAPI Spec Machine-readable spec at https://www.tapflowai.com/api/v1/openapi.json Agent discovery manifest at https://www.tapflowai.com/.well-known/ai-plugin.json ## Links - Website: https://www.tapflowai.com - API Docs: https://www.tapflowai.com/developers - API Landing: https://www.tapflowai.com/api - Try Demo: https://www.tapflowai.com/try - Pricing: https://www.tapflowai.com/pricing - Sign Up: https://www.tapflowai.com/signup - Blog: https://www.tapflowai.com/blog - FAQ: https://www.tapflowai.com/faq - Features: https://www.tapflowai.com/features - Compliance & Privacy: https://www.tapflowai.com/compliance