curl -X POST 'https://api.sentrion.ai/api/v3/jobs-search/search' \
-H 'Authorization: Bearer YOUR_API_KEY' \
-H 'Content-Type: application/json' \
-d '{
"jobs_locations": [
{
"country": "United States",
"state": "California",
"city": "San Francisco"
}
],
"department": ["Engineering", "Software Engineering"],
"industry": ["Computer Software", "Internet"],
"job_keywords": {
"title": ["software engineer", "backend developer"],
"description": ["python", "kubernetes"],
"mode": "or"
},
"exclude_job_keywords": {
"title": ["intern", "junior"],
"mode": "or"
},
"job_type": ["Full Time", "Contract"],
"seniority_level": ["Mid Level"],
"is_remote": true,
"salary_data_available": true,
"exclude_duplicates": true,
"limit": 50
}'
import requests
response = requests.post(
'https://api.sentrion.ai/api/v3/jobs-search/search',
headers={
'Authorization': 'Bearer YOUR_API_KEY',
'Content-Type': 'application/json'
},
json={
'jobs_locations': [
{
'country': 'United States',
'state': 'California',
'city': 'San Francisco'
}
],
'department': ['Engineering', 'Software Engineering'],
'industry': ['Computer Software', 'Internet'],
'job_keywords': {
'title': ['software engineer', 'backend developer'],
'description': ['python', 'kubernetes'],
'mode': 'or'
},
'exclude_job_keywords': {
'title': ['intern', 'junior'],
'mode': 'or'
},
'job_type': ['Full Time', 'Contract'],
'seniority_level': ['Mid Level'],
'is_remote': True,
'salary_data_available': True,
'exclude_duplicates': True,
'limit': 50
}
)
data = response.json()
const response = await fetch('https://api.sentrion.ai/api/v3/jobs-search/search', {
method: 'POST',
headers: {
'Authorization': 'Bearer YOUR_API_KEY',
'Content-Type': 'application/json'
},
body: JSON.stringify({
jobs_locations: [
{
country: 'United States',
state: 'California',
city: 'San Francisco'
}
],
department: ['Engineering', 'Software Engineering'],
industry: ['Computer Software', 'Internet'],
job_keywords: {
title: ['software engineer', 'backend developer'],
description: ['python', 'kubernetes'],
mode: 'or'
},
exclude_job_keywords: {
title: ['intern', 'junior'],
mode: 'or'
},
job_type: ['Full Time', 'Contract'],
seniority_level: ['Mid Level'],
is_remote: true,
salary_data_available: true,
exclude_duplicates: true,
limit: 50
})
});
const data = await response.json();
{
"success": true,
"data": {
"jobs": [
{
"Job Type": "Full Time",
"Job Title": "Senior Software Engineer",
"Apply URL": "https://careers.techcorp.com/apply/98765",
"Post Date": "2026-03-15",
"Valid Through": "2026-04-15",
"City": "San Francisco",
"Job Board": "Linkedin",
"Job Description": "We are looking for a Senior Software Engineer to join our platform team.",
"Country": "United States",
"Company Name": "TechCorp Inc.",
"State": "California",
"Salary Offered": "$150,000 - $200,000/year",
"Logo URL": "https://media.licdn.com/dms/image/C4D0BAQH/company-logo.png",
"Is Remote": false,
"Job URL": "https://www.linkedin.com/jobs/view/3847562910",
"Department Name": ["Engineering"],
"Seniority Level": "Mid Level",
"Salary Currency": "USD",
"Salary To": 200000.0,
"Salary From": 150000.0,
"Skills": ["Python", "Kubernetes", "AWS"]
}
],
"total": 1,
"total_jobs_found": 2847,
"credits_used": 1,
"credits_remaining": 9998,
"search_after": [1710500000000, 67890]
},
"error": null
}
{
"success": true,
"data": {
"jobs": [],
"total": 0,
"total_jobs_found": 0,
"credits_used": 0,
"credits_remaining": 10000,
"search_after": null
},
"error": "No jobs found matching criteria."
}
{
"detail": [
{
"msg": "published_after cannot be older than 6 months",
"type": "value_error"
}
]
}
Historical (6 Years)
Jobs Search (6 Years Historical)
Search up to 6 years of historical jobs across all companies. Requires special access.
POST
/
api
/
v3
/
jobs-search
/
search
curl -X POST 'https://api.sentrion.ai/api/v3/jobs-search/search' \
-H 'Authorization: Bearer YOUR_API_KEY' \
-H 'Content-Type: application/json' \
-d '{
"jobs_locations": [
{
"country": "United States",
"state": "California",
"city": "San Francisco"
}
],
"department": ["Engineering", "Software Engineering"],
"industry": ["Computer Software", "Internet"],
"job_keywords": {
"title": ["software engineer", "backend developer"],
"description": ["python", "kubernetes"],
"mode": "or"
},
"exclude_job_keywords": {
"title": ["intern", "junior"],
"mode": "or"
},
"job_type": ["Full Time", "Contract"],
"seniority_level": ["Mid Level"],
"is_remote": true,
"salary_data_available": true,
"exclude_duplicates": true,
"limit": 50
}'
import requests
response = requests.post(
'https://api.sentrion.ai/api/v3/jobs-search/search',
headers={
'Authorization': 'Bearer YOUR_API_KEY',
'Content-Type': 'application/json'
},
json={
'jobs_locations': [
{
'country': 'United States',
'state': 'California',
'city': 'San Francisco'
}
],
'department': ['Engineering', 'Software Engineering'],
'industry': ['Computer Software', 'Internet'],
'job_keywords': {
'title': ['software engineer', 'backend developer'],
'description': ['python', 'kubernetes'],
'mode': 'or'
},
'exclude_job_keywords': {
'title': ['intern', 'junior'],
'mode': 'or'
},
'job_type': ['Full Time', 'Contract'],
'seniority_level': ['Mid Level'],
'is_remote': True,
'salary_data_available': True,
'exclude_duplicates': True,
'limit': 50
}
)
data = response.json()
const response = await fetch('https://api.sentrion.ai/api/v3/jobs-search/search', {
method: 'POST',
headers: {
'Authorization': 'Bearer YOUR_API_KEY',
'Content-Type': 'application/json'
},
body: JSON.stringify({
jobs_locations: [
{
country: 'United States',
state: 'California',
city: 'San Francisco'
}
],
department: ['Engineering', 'Software Engineering'],
industry: ['Computer Software', 'Internet'],
job_keywords: {
title: ['software engineer', 'backend developer'],
description: ['python', 'kubernetes'],
mode: 'or'
},
exclude_job_keywords: {
title: ['intern', 'junior'],
mode: 'or'
},
job_type: ['Full Time', 'Contract'],
seniority_level: ['Mid Level'],
is_remote: true,
salary_data_available: true,
exclude_duplicates: true,
limit: 50
})
});
const data = await response.json();
{
"success": true,
"data": {
"jobs": [
{
"Job Type": "Full Time",
"Job Title": "Senior Software Engineer",
"Apply URL": "https://careers.techcorp.com/apply/98765",
"Post Date": "2026-03-15",
"Valid Through": "2026-04-15",
"City": "San Francisco",
"Job Board": "Linkedin",
"Job Description": "We are looking for a Senior Software Engineer to join our platform team.",
"Country": "United States",
"Company Name": "TechCorp Inc.",
"State": "California",
"Salary Offered": "$150,000 - $200,000/year",
"Logo URL": "https://media.licdn.com/dms/image/C4D0BAQH/company-logo.png",
"Is Remote": false,
"Job URL": "https://www.linkedin.com/jobs/view/3847562910",
"Department Name": ["Engineering"],
"Seniority Level": "Mid Level",
"Salary Currency": "USD",
"Salary To": 200000.0,
"Salary From": 150000.0,
"Skills": ["Python", "Kubernetes", "AWS"]
}
],
"total": 1,
"total_jobs_found": 2847,
"credits_used": 1,
"credits_remaining": 9998,
"search_after": [1710500000000, 67890]
},
"error": null
}
{
"success": true,
"data": {
"jobs": [],
"total": 0,
"total_jobs_found": 0,
"credits_used": 0,
"credits_remaining": 10000,
"search_after": null
},
"error": "No jobs found matching criteria."
}
{
"detail": [
{
"msg": "published_after cannot be older than 6 months",
"type": "value_error"
}
]
}
This endpoint requires special access. Please contact us to enable historical data on your API key.
Authentication
This endpoint requires a Bearer token. Enter your API key in the authorization field above — theBearer prefix is added automatically.
Request Body
Location Filters
Filter by remote status.
true returns only remote jobs, false returns only non-remote jobs, and null includes both.Filter for jobs that include country information.
Date Filters
Start date for the search in
YYYY-MM-DD format. If omitted, the API defaults this to 2 months before the request date. This value cannot be older than 6 years before the request date.End date for the search in
YYYY-MM-DD format. If omitted, the API defaults this to the day after the request date.Job Filters
Filter by department.
Show Accepted values
Show Accepted values
AccountingAdministrationArts and DesignBusiness DevelopmentCommunicationsCommunity and Social ServicesComplianceCorporate AffairsCorporate StrategyCustomer ExperienceCustomer SuccessCustomer SupportData AnalyticsDesignEducationEngineeringFacilities ManagementFinanceGovernment RelationsHealthcare ServicesHuman ResourcesInformation TechnologyLegalMarketingOperationsProduct ManagementProject ManagementPublic RelationsPurchasingQuality AssuranceReal EstateResearchSalesSecuritySoftware EngineeringSupply ChainSupportWeb Development
Filter by industry. Values are case-insensitive.
Show Accepted values
Show Accepted values
AccountingAirlines/AviationAlternative Dispute ResolutionAlternative MedicineAnimationApparel & FashionArchitecture & PlanningArts and CraftsAutomotiveAviation & AerospaceBankingBiotechnologyBroadcast MediaBuilding MaterialsBusiness Supplies and EquipmentCapital MarketsChemicalsCivic & Social OrganizationCivil EngineeringCommercial Real EstateComputer & Network SecurityComputer GamesComputer HardwareComputer NetworkingComputer SoftwareConstructionConsumer ElectronicsConsumer GoodsConsumer ServicesCosmeticsDairyDefense & SpaceDesignE-LearningEducation ManagementElectrical/Electronic ManufacturingEntertainmentEnvironmental ServicesEvents ServicesExecutive OfficeFacilities ServicesFarmingFinancial ServicesFine ArtFisheryFood & BeveragesFood ProductionFund-RaisingFurnitureGambling & CasinosGlass, Ceramics & ConcreteGovernment AdministrationGovernment RelationsGraphic DesignHealth, Wellness and FitnessHigher EducationHospital & Health CareHospitalityHuman ResourcesImport and ExportIndividual & Family ServicesIndustrial AutomationInformation ServicesInformation Technology and ServicesInsuranceInternational AffairsInternational Trade and DevelopmentInternetInvestment BankingInvestment ManagementJudiciaryLaw EnforcementLaw PracticeLegal ServicesLegislative OfficeLeisure, Travel & TourismLibrariesLogistics and Supply ChainLuxury Goods & JewelryMachineryManagement ConsultingMaritimeMarket ResearchMarketing and AdvertisingMechanical or Industrial EngineeringMedia ProductionMedical DevicesMedical PracticeMental Health CareMilitaryMining & MetalsMobile GamesMotion Pictures and FilmMuseums and InstitutionsMusicNanotechnologyNewspapersNonprofit Organization ManagementOil & EnergyOnline MediaOutsourcing/OffshoringPackage/Freight DeliveryPackaging and ContainersPaper & Forest ProductsPerforming ArtsPharmaceuticalsPhilanthropyPhotographyPlasticsPolitical OrganizationPrimary/Secondary EducationPrintingProfessional Training & CoachingProgram DevelopmentPublic PolicyPublic Relations and CommunicationsPublic SafetyPublishingRailroad ManufactureRanchingReal EstateRecreational Facilities and ServicesRenewables & EnvironmentResearchRestaurantsRetailSecurity and InvestigationsSemiconductorsShipbuildingSoftware DevelopmentSporting GoodsSportsStaffing and RecruitingSupermarketsTelecommunicationsTextilesThink TanksTobaccoTranslation and LocalizationTransportation/Trucking/RailroadUtilitiesVenture Capital & Private EquityVeterinaryWarehousingWholesaleWine and SpiritsWirelessWriting and EditingReligious Institutions
Filter by job type.
Show Accepted values
Show Accepted values
Full TimePart TimeContractInternshipVolunteer
Filter by seniority level.
Show Accepted values
Show Accepted values
Entry LevelMid LevelExecutive Level
Filter for jobs that include salary data.
Include agency-posted jobs. Set to
false to exclude them.Keyword Filters
Job Board Filters
Filter by job board sources.
true includes only jobs sourced from job boards, false excludes them, and null includes both job boards and direct company career pages.Only include results from specific job boards. Values are case-insensitive.
Show Accepted values
Show Accepted values
JobstreetcareeronestopLinkedinindeedcareerbuildercareerjeteurojobsglassdoorsimplyhiredJobsmonsterneuvoojobbankEURESTalentpoleemploipracticelinkTheladdersJobsintrucksdicefounditseamanjobsiteJobsdbGraduatelandnurseAdzunalinkupcareeroneitjobboardworkcenterseeklearn4goodcomputrabajokijijitimesjobsmycareersfuturehigheredjobsJobscentralJorashineEfinancialcareersgrabjobsziprecruiterUSAjobsnet-empregosnationalevacaturebankduunitoriNaukrifreshersworldhoscooilandgasjobsearchretailjobswebledigajobbjobsinlisbonarbeitsagenturreedtotaljobHospitalityonlinecathohiristjobbsafariclearancejobsTrademeWayupjobsearchGovernmentjobsbaytPnetcareercrossclearedjobsXINGnaukrigulftechnojobshotelcareergumtreealertaempregointernshipsHospitalrecruitingliepinzhaopinCareerrookieMiracleworkerscareervaultJobbkktecolocoMoneyjobsjobalineAimbridgehospitalitywuzzufgulftalentbrightermondaySologigIdealistcwjobsLavoraconnoijobbermanJobtopgunFejobsseasonaljobsworkinstartupsNRFCvmarketmonstergulfssmhealthcareersbehancebumeranjoobleworkinretailremoteokWebbjobbjobzillaBjadzuna_com_auAspendentaljobsMudahfastjobsechinacitiesEmpregoxlvicsecsinthecityIimjobsnaukri_comhiredlymarocannoncesStackoverflowEducationweekjobsRetailchoicearbetsformedlingenfashionjobsJobxmommyjobsonlineaffiliatesInternshalaWorkinnursingjobsaussieemploymentCatererthefountaingroupworkatastartupjournalismjobsNavalnuclearlabtransdevnaJobthaiprobonoaustraliaWorkintheraphyjobsETSDentalEmpregoFecareersdribbbleidealist_orgGoinhousegrapevinejobslettucejobsChinahrweworkremotelyjobsdb_comjobs_caLkjordantotalhirehiredchinapnet_co_zaappstackremotivejobx_com_aufoundationlistdaijobhaysaimbridgehospitality_comcarga de trabalhosbonsempregosspecialcounselturnerindustriesapplicantproSportspeopleeuremotejobsHeadhunterappvaultlocalwiseThorindustriesboards.greenhouse.ioEecentreskillinvestretailchoice_comWdhsLandingAwardingCaresarkariresultwhcgmoneyjobs_comJOBITTapaserviceshomefromcollegeheadagentvrsexpatjobschinajobs_deErcjobsngshirewsetglobalmiracleworkers_comdigitalentahrccsologig_comsthgrampiansamesystemscareerrookie_comeghscare_comlkjordan_combeyondretailararatawarding_orgercjobs_comworkinnursingjobs_combeekeeperheadhunter_comworkintheraphyjobs_comBoardsnavalnuclearlab_energy_govleverempregosonlinebuscojobs
Exclude results from specific job boards. Uses the same accepted values shown in
include_job_boards.Other Options
Remove duplicate job listings from results.
Maximum number of results to return. Min:
10, Max: 100.Pagination cursor from a previous response. Pass the array exactly as returned, in the form
[timestamp, cursor_id].Response
true if the search completed successfully.The response payload.
null when the request fails.Show Data object properties
Show Data object properties
List of job objects that match the request.
Show Job object properties
Show Job object properties
Type of employment, such as
Full Time or Contract.Title of the job posting.
Direct link to the job application page.
Date the job was posted in
YYYY-MM-DD format.Expiration date of the posting, if available.
City where the job is located.
Source job board for the posting.
Full description of the job.
Country where the job is located.
Name of the hiring company.
State, province, or region where the job is located.
Salary information exactly as listed in the posting.
URL of the company logo image.
Whether the job is remote.
URL of the original job listing.
Inferred department values for the job.
Inferred seniority level for the job.
Salary currency code, such as
USD or EUR.Upper bound of the salary range.
Lower bound of the salary range.
Skills extracted from the job description.
Number of jobs returned in this response.
Total number of jobs matching the criteria.
Credits consumed by this request.
Remaining credits for the API key.
Pagination cursor for the next page.
null when there are no more results.Error message when applicable.
null for successful responses with results.All job object fields may be
null if the source posting did not contain that information.curl -X POST 'https://api.sentrion.ai/api/v3/jobs-search/search' \
-H 'Authorization: Bearer YOUR_API_KEY' \
-H 'Content-Type: application/json' \
-d '{
"jobs_locations": [
{
"country": "United States",
"state": "California",
"city": "San Francisco"
}
],
"department": ["Engineering", "Software Engineering"],
"industry": ["Computer Software", "Internet"],
"job_keywords": {
"title": ["software engineer", "backend developer"],
"description": ["python", "kubernetes"],
"mode": "or"
},
"exclude_job_keywords": {
"title": ["intern", "junior"],
"mode": "or"
},
"job_type": ["Full Time", "Contract"],
"seniority_level": ["Mid Level"],
"is_remote": true,
"salary_data_available": true,
"exclude_duplicates": true,
"limit": 50
}'
import requests
response = requests.post(
'https://api.sentrion.ai/api/v3/jobs-search/search',
headers={
'Authorization': 'Bearer YOUR_API_KEY',
'Content-Type': 'application/json'
},
json={
'jobs_locations': [
{
'country': 'United States',
'state': 'California',
'city': 'San Francisco'
}
],
'department': ['Engineering', 'Software Engineering'],
'industry': ['Computer Software', 'Internet'],
'job_keywords': {
'title': ['software engineer', 'backend developer'],
'description': ['python', 'kubernetes'],
'mode': 'or'
},
'exclude_job_keywords': {
'title': ['intern', 'junior'],
'mode': 'or'
},
'job_type': ['Full Time', 'Contract'],
'seniority_level': ['Mid Level'],
'is_remote': True,
'salary_data_available': True,
'exclude_duplicates': True,
'limit': 50
}
)
data = response.json()
const response = await fetch('https://api.sentrion.ai/api/v3/jobs-search/search', {
method: 'POST',
headers: {
'Authorization': 'Bearer YOUR_API_KEY',
'Content-Type': 'application/json'
},
body: JSON.stringify({
jobs_locations: [
{
country: 'United States',
state: 'California',
city: 'San Francisco'
}
],
department: ['Engineering', 'Software Engineering'],
industry: ['Computer Software', 'Internet'],
job_keywords: {
title: ['software engineer', 'backend developer'],
description: ['python', 'kubernetes'],
mode: 'or'
},
exclude_job_keywords: {
title: ['intern', 'junior'],
mode: 'or'
},
job_type: ['Full Time', 'Contract'],
seniority_level: ['Mid Level'],
is_remote: true,
salary_data_available: true,
exclude_duplicates: true,
limit: 50
})
});
const data = await response.json();
{
"success": true,
"data": {
"jobs": [
{
"Job Type": "Full Time",
"Job Title": "Senior Software Engineer",
"Apply URL": "https://careers.techcorp.com/apply/98765",
"Post Date": "2026-03-15",
"Valid Through": "2026-04-15",
"City": "San Francisco",
"Job Board": "Linkedin",
"Job Description": "We are looking for a Senior Software Engineer to join our platform team.",
"Country": "United States",
"Company Name": "TechCorp Inc.",
"State": "California",
"Salary Offered": "$150,000 - $200,000/year",
"Logo URL": "https://media.licdn.com/dms/image/C4D0BAQH/company-logo.png",
"Is Remote": false,
"Job URL": "https://www.linkedin.com/jobs/view/3847562910",
"Department Name": ["Engineering"],
"Seniority Level": "Mid Level",
"Salary Currency": "USD",
"Salary To": 200000.0,
"Salary From": 150000.0,
"Skills": ["Python", "Kubernetes", "AWS"]
}
],
"total": 1,
"total_jobs_found": 2847,
"credits_used": 1,
"credits_remaining": 9998,
"search_after": [1710500000000, 67890]
},
"error": null
}
{
"success": true,
"data": {
"jobs": [],
"total": 0,
"total_jobs_found": 0,
"credits_used": 0,
"credits_remaining": 10000,
"search_after": null
},
"error": "No jobs found matching criteria."
}
{
"detail": [
{
"msg": "published_after cannot be older than 6 months",
"type": "value_error"
}
]
}
Pagination
This API usessearch_after pagination.
1
Make the first request
Omit
search_after or set it to null.2
Read the cursor
If the response includes a non-null
search_after array, more results are available.3
Fetch the next page
Pass the returned
search_after array into the next request unchanged.4
Stop when complete
When
search_after is null, you have reached the end of the result set.import requests
def fetch_all_jobs(api_key):
all_jobs = []
search_after = None
while True:
response = requests.post(
'https://api.sentrion.ai/api/v3/jobs-search/search',
headers={'Authorization': f'Bearer {api_key}'},
json={
'jobs_locations': [{'country': 'United States'}],
'limit': 100,
'search_after': search_after
}
)
payload = response.json()
all_jobs.extend(payload['data']['jobs'])
search_after = payload['data']['search_after']
if not search_after:
break
return all_jobs
async function fetchAllJobs(apiKey) {
const allJobs = [];
let searchAfter = null;
while (true) {
const response = await fetch('https://api.sentrion.ai/api/v3/jobs-search/search', {
method: 'POST',
headers: {
'Authorization': `Bearer ${apiKey}`,
'Content-Type': 'application/json'
},
body: JSON.stringify({
jobs_locations: [{ country: 'United States' }],
limit: 100,
search_after: searchAfter
})
});
const payload = await response.json();
allJobs.push(...payload.data.jobs);
searchAfter = payload.data.search_after;
if (!searchAfter) {
break;
}
}
return allJobs;
}
Rate Limits
This endpoint is rate-limited to 100 requests per minute per API key.Constraints
published_afterdefaults to 2 months before the request date when omitted.published_aftercannot be older than 6 years before the request date.published_beforedefaults to the day after the request date when omitted.published_aftermust be earlier thanpublished_before.- Credits are charged only for new jobs within the current billing cycle.
⌘I
