Spaces:
No application file
No application file
File size: 3,495 Bytes
4ea17aa |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 |
# LinkedIn Sourcing Agent API π―
An AI-powered candidate sourcing and scoring system that automatically finds, analyzes, and ranks LinkedIn candidates for job openings.
## π Features
- **Intelligent Search**: Generates optimized search queries for LinkedIn candidate discovery
- **Profile Analysis**: Extracts and structures candidate data using advanced parsing
- **AI Scoring**: Multi-dimensional scoring algorithm evaluating education, experience, skills, and cultural fit
- **Personalized Outreach**: Generates tailored outreach messages highlighting candidate strengths
- **RESTful API**: Easy integration with existing HR systems and workflows
## π‘ API Usage
### POST `/source-candidates`
Submit a job description and get ranked candidates with personalized outreach messages.
**Request:**
```json
{
"title": "Software Engineer, ML Research",
"company": "Windsurf",
"location": "Mountain View, CA",
"requirements": [
"Experience with large language models (LLMs)",
"Strong background in machine learning and AI",
"PhD or Master's in Computer Science or related field"
],
"description": "We are looking for a talented ML Research Engineer...",
"max_candidates": 10,
"confidence_threshold": 0.3
}
```
**Response:**
```json
{
"job_id": "abc123",
"job_title": "Software Engineer, ML Research",
"company": "Windsurf",
"candidates_found": 5,
"candidates_scored": 5,
"top_candidates": [
{
"name": "John Doe",
"linkedin_url": "https://linkedin.com/in/johndoe",
"fit_score": 8.5,
"confidence": 0.9,
"adjusted_score": 7.65,
"key_highlights": [
"PhD in Computer Science from Stanford",
"Current: Senior ML Engineer at Google",
"Skills: LLM, PyTorch, TensorFlow"
],
"outreach_message": "Hi John, I noticed your impressive work with LLMs at Google and think you'd be perfect for our ML Research role at Windsurf...",
"profile_summary": {
"name": "John Doe",
"headline": "Senior ML Engineer | LLM Specialist",
"current_company": "Google",
"score_breakdown": {
"education": 9.5,
"career_trajectory": 8.0,
"company_relevance": 9.0,
"experience_match": 8.5
}
}
}
],
"processing_time": 12.5,
"status": "completed",
"timestamp": "2025-07-01T02:30:00Z"
}
```
## π§ Endpoints
- `GET /` - API information
- `GET /health` - Health check
- `POST /source-candidates` - Main sourcing endpoint
- `GET /example` - Example request format
- `GET /docs` - Interactive API documentation
## π― Scoring Algorithm
The system evaluates candidates across multiple dimensions:
- **Education** (25%): University prestige, degree relevance, field of study
- **Experience Match** (30%): Role similarity, industry relevance, skill alignment
- **Career Trajectory** (20%): Progression, tenure, company quality
- **Company Relevance** (15%): Similar company experience, industry fit
- **Location Match** (10%): Geographic compatibility
## π Quick Start
1. Visit the API documentation at `/docs`
2. Try the `/example` endpoint to see request format
3. Submit a job via `/source-candidates`
4. Get ranked candidates with personalized messages
## π Note
This demo uses mock data for educational purposes. In production, you would need:
- Valid LinkedIn API access
- SerpAPI key for search
- Groq API key for LLM processing
Built with FastAPI, Pydantic, and modern async Python.
|