The Problem GitResolve Solves
Candidates submit their work in every format imaginable: a personal domain that routes to a React SPA, a GitHub profile URL buried in a PDF’s hyperlink annotations, a GitLab username in plain text, or a Bitbucket repo link nested inside a portfolio page. Extracting structured developer data from this noise — reliably, at scale — is tedious work that shouldn’t live in your application logic. GitResolve handles the full pipeline: classify the input, fetch and render the page (even JavaScript-heavy SPAs), extract every git URL present, disambiguate which profile belongs to the candidate versus which repos are just references, and return a single typedResolverResult object with confidence scoring. You get owned repos, PR/issue contributions, external references, and diagnostics — no bespoke scraping code required.
Key Capabilities
- Portfolio scraping — fetches portfolio sites and extracts all GitHub, GitLab, and Bitbucket URLs found on the page, including links hidden inside JavaScript-rendered content
- Resume PDF parsing — extracts raw text and deeply embedded hyperlink annotations from PDF files, catching git URLs that plain text extraction misses
- Multi-provider support — GitHub, GitLab, and Bitbucket profiles and repositories are all first-class inputs
- Owner disambiguation — separates the candidate’s actual profile from repos they merely reference or contributed to
- Confidence scoring — every result carries a
"high" | "medium" | "low" | "none"confidence value so downstream consumers can triage uncertain matches - CLI and programmatic API — use the
gitresolvecommand directly from a terminal or import the library into any Node.js or Bun backend
Supported Input Types
Every input type below can be passed directly to the CLI or toscrapePortfolio / parseResume in the programmatic API.
Browser Providers
GitResolve supports three strategies for fetching page content. It auto-detects the best available provider at runtime — you only need to intervene when you want to force a specific one.
See the Browser Providers guide for Browserless Docker setup and provider configuration details.
Enterprise ATS Integrations
Are you processing large CSV exports from Lever, Greenhouse, or Ashby with custom column mappings? Native zero-configuration ATS integrations are being prioritized based on user demand. Open an issue to register your platform and help shape the roadmap.Where to Go Next
Quickstart
Resolve your first candidate profile in under 2 minutes using the CLI or TypeScript API.
CLI Guide
Full reference for all CLI flags, batch processing, output options, and provider selection.
API Reference
TypeScript API docs for
scrapePortfolio, parseResume, createProvider, and all exported types.Browser Providers
Configure fetch, Puppeteer, or Browserless to match your infrastructure and rendering needs.