This is a Next.js project bootstrapped with create-next-app.
First, run the development server:
npm run dev
# or
yarn dev
# or
pnpm dev
# or
bun devOpen http://localhost:3000 with your browser to see the result.
You can start editing the page by modifying app/page.tsx. The page auto-updates as you edit the file.
This project uses next/font to automatically optimize and load Geist, a new font family for Vercel.
This project integrates the official Adzuna Jobs API for searching and ingesting live job postings across India, the UK, the US, and other supported countries.
Obtain your Adzuna App ID and API Key from the Adzuna Developer Portal. Add them to your .env.local:
ADZUNA_APP_ID=your_adzuna_app_id
ADZUNA_APP_KEY=your_adzuna_app_key
ADZUNA_COUNTRY=inVerify that your Adzuna API credentials are working and returning live normalized jobs:
npm run test:adzunaVerify end-to-end ingestion, change detection, and deduplication into PostgreSQL / Supabase:
npx tsx src/scripts/demonstrate-adzuna-sync.tsQuery the server-side Adzuna search endpoint:
curl "http://localhost:3000/api/jobs/search?source=adzuna&query=software%20engineer&location=India&page=1&results_per_page=20"Response format:
{
"source": "adzuna",
"jobs": [
{
"source": "adzuna",
"source_job_id": "5392817201",
"company_name": "Razorpay",
"title": "Senior Software Engineer",
"location": "Bengaluru, Karnataka, India",
"salary_min": 1800000,
"salary_max": 2600000,
"salary_currency": "INR",
"job_url": "https://www.adzuna.in/land/ad/5392817201",
"apply_url": "https://www.adzuna.in/land/ad/5392817201",
"posted_at": "2026-08-20T10:15:30.000Z"
}
],
"pagination": {
"page": 1,
"resultsPerPage": 20,
"total": 1450
}
}Run the full Vitest suite (including mocked Adzuna unit tests and data quality audits):
npm run test