Get Profile By ID
curl --request GET \
--url https://api.example.com/api/v1/job-seekers/:idimport requests
url = "https://api.example.com/api/v1/job-seekers/:id"
response = requests.get(url)
print(response.text)const options = {method: 'GET'};
fetch('https://api.example.com/api/v1/job-seekers/:id', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.example.com/api/v1/job-seekers/:id",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.example.com/api/v1/job-seekers/:id"
req, _ := http.NewRequest("GET", url, nil)
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.example.com/api/v1/job-seekers/:id")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.example.com/api/v1/job-seekers/:id")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
response = http.request(request)
puts response.read_body{
"firstName": "<string>",
"lastName": "<string>",
"profileImageUrl": {},
"profile": {
"jobSeekerId": "<string>",
"title": "<string>",
"location": "<string>",
"availabilityStatus": {},
"workPreference": {},
"preferredJobTypes": [
{}
],
"yearsOfExperience": 123,
"linkedinUrl": {},
"portfolioUrl": {},
"githubUrl": {},
"cvEmail": {},
"noticePeriod": {},
"phone": {},
"expectedSalary": {},
"summary": {}
},
"educations": [
{
"degreeType": {},
"description": "<string>",
"institutionName": "<string>",
"isCurrent": true,
"fieldOfStudy": "<string>",
"endDate": {},
"gpa": {},
"startDate": "<string>"
}
],
"workExperiences": [
{
"companyName": "<string>",
"description": "<string>",
"isCurrent": true,
"startDate": "<string>",
"jobTitle": "<string>",
"location": "<string>",
"endDate": {}
}
],
"skills": [
{
"name": "<string>",
"verified": true
}
]
}Job Seeker
Get Profile By ID
Retrieve a specific job seeker public profile by their unique identifier
GET
/
api
/
v1
/
job-seekers
/
:id
Get Profile By ID
curl --request GET \
--url https://api.example.com/api/v1/job-seekers/:idimport requests
url = "https://api.example.com/api/v1/job-seekers/:id"
response = requests.get(url)
print(response.text)const options = {method: 'GET'};
fetch('https://api.example.com/api/v1/job-seekers/:id', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.example.com/api/v1/job-seekers/:id",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.example.com/api/v1/job-seekers/:id"
req, _ := http.NewRequest("GET", url, nil)
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.example.com/api/v1/job-seekers/:id")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.example.com/api/v1/job-seekers/:id")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
response = http.request(request)
puts response.read_body{
"firstName": "<string>",
"lastName": "<string>",
"profileImageUrl": {},
"profile": {
"jobSeekerId": "<string>",
"title": "<string>",
"location": "<string>",
"availabilityStatus": {},
"workPreference": {},
"preferredJobTypes": [
{}
],
"yearsOfExperience": 123,
"linkedinUrl": {},
"portfolioUrl": {},
"githubUrl": {},
"cvEmail": {},
"noticePeriod": {},
"phone": {},
"expectedSalary": {},
"summary": {}
},
"educations": [
{
"degreeType": {},
"description": "<string>",
"institutionName": "<string>",
"isCurrent": true,
"fieldOfStudy": "<string>",
"endDate": {},
"gpa": {},
"startDate": "<string>"
}
],
"workExperiences": [
{
"companyName": "<string>",
"description": "<string>",
"isCurrent": true,
"startDate": "<string>",
"jobTitle": "<string>",
"location": "<string>",
"endDate": {}
}
],
"skills": [
{
"name": "<string>",
"verified": true
}
]
}Endpoint
GET /api/v1/job-seekers/:id
http://localhost:3000/api/v1
This endpoint is public and does not require authentication.
Path Parameters
string
required
The unique identifier (UUID) of the job seeker profile to retrieve.
Request Example
GET /api/v1/job-seekers/fe721809-a9da-4301-a8fe-9d3373dced00
Response
Success Response (200 OK)
{
"success": true,
"data": {
"firstName": "Timothy",
"lastName": "Davis",
"profileImageUrl": null,
"profile": {
"jobSeekerId": "fe721809-a9da-4301-a8fe-9d3373dced00",
"title": "IT Manager",
"location": "Remote",
"availabilityStatus": "NOT_LOOKING",
"workPreference": "ONSITE",
"preferredJobTypes": ["INTERNSHIP", "FREELANCE", "CONTRACT"],
"yearsOfExperience": 5.4,
"linkedinUrl": null,
"portfolioUrl": null,
"githubUrl": null,
"cvEmail": "cv1756@jobseeker.com",
"noticePeriod": 90,
"phone": "+17423258561",
"expectedSalary": null,
"summary": "Experienced IT Manager with 5.4 years of expertise."
},
"educations": [
{
"degreeType": "BACHELOR",
"description": null,
"institutionName": "Cairo University",
"isCurrent": false,
"fieldOfStudy": "Accounting",
"endDate": "2022-12-16T00:00:00.000Z",
"gpa": 3.1,
"startDate": "2018-10-16T00:00:00.000Z"
},
{
"degreeType": "HIGH_SCHOOL",
"description": null,
"institutionName": "UC Berkeley",
"isCurrent": false,
"fieldOfStudy": "Physics",
"endDate": "2009-10-15T00:00:00.000Z",
"gpa": 3.25,
"startDate": "2006-02-07T00:00:00.000Z"
}
],
"workExperiences": [
{
"companyName": "MarketPulse",
"description": "Worked as Support Engineer at MarketPulse.",
"isCurrent": false,
"startDate": "2016-11-12T00:00:00.000Z",
"jobTitle": "Support Engineer",
"location": "Toronto, Canada",
"endDate": "2018-12-22T00:00:00.000Z"
},
{
"companyName": "RetailFlow",
"description": "Worked as Recruiter at RetailFlow.",
"isCurrent": true,
"startDate": "2012-02-02T00:00:00.000Z",
"jobTitle": "Recruiter",
"location": "Denver, CO",
"endDate": null
}
],
"skills": [
{
"name": "Git",
"verified": true
},
{
"name": "NestJS",
"verified": true
},
{
"name": "TypeScript",
"verified": true
},
{
"name": "Java",
"verified": true
},
{
"name": "Terraform",
"verified": false
}
]
},
"message": "Job seeker profile retrieved successfully",
"meta": {
"timestamp": "2026-04-23T20:00:00.000Z",
"path": "/job-seekers/fe721809-a9da-4301-a8fe-9d3373dced00",
"method": "GET"
}
}
Response Fields
string
User’s first name.
string
User’s last name.
string | null
URL to profile image.
object
Detailed profile information.
Show Profile Properties
Show Profile Properties
string
Unique profile identifier (UUID).
string
Current job title.
string
Current location.
enum
Current availability status. -
OPEN_TO_WORK - Actively looking - NOT_LOOKING - Not lookingPASSIVELY_LOOKING- Open to opportunities
enum
Work preference. -
REMOTE - Remote work - ONSITE - On-site work - HYBRID - Hybrid work -
ANY - No preferenceenum[]
Preferred job types. -
FULL_TIME, PART_TIME, CONTRACT, INTERNSHIP, FREELANCEnumber
Total years of professional experience.
string | null
LinkedIn profile URL.
string | null
Portfolio website URL.
string | null
GitHub profile URL.
string | null
Email for receiving CV/applications.
number | null
Notice period in days.
string | null
Phone number.
number | null
Expected monthly salary in USD.
string | null
Professional summary/bio.
array
array
Error Responses
400 Bad Request - Invalid ID Format
{
"success": false,
"error": {
"message": "Validation failed (uuid is expected)",
"statusCode": 400,
"timestamp": "2026-04-23T20:00:00.000Z",
"path": "/job-seekers/123",
"method": "GET",
"details": "Bad Request"
}
}
404 Not Found - Profile Not Found
{
"success": false,
"error": {
"message": "Job seeker profile not found",
"statusCode": 404,
"timestamp": "2026-04-23T20:00:00.000Z",
"path": "/job-seekers/fe721809-a9da-4301-a8fe-9d3373dced00",
"method": "GET",
"details": "Not Found"
}
}
Notes
Public Profile: This endpoint currently returns the same profile shape as
GET /job-seekers/me from backend service mapping.View Other Profiles: Use this endpoint to view other job seekers’ public profiles when
researching candidates or networking.
⌘I
