API cho developer
Tìm việc làm IT đang mở tại các công ty tuyển dụng ở Việt Nam, lấy trực tiếp từ trang tuyển dụng của công ty và cập nhật hằng giờ. Chỉ đọc, miễn phí, không cần đăng ký để bắt đầu.
Chọn cách kết nối
AI agent: MCP
Khuyên dùngClaude, ChatGPT, Cursor, Codex… kết nối tới https://techjobs.vn/mcp. Có thêm thông tin công ty, chi tiết job, chấm CV và theo dõi ứng tuyển. Agent tự cài được nếu đọc SKILL.md.
Script, backend: REST
Một endpoint JSON chỉ đọc. Nhập spec vào Postman, Insomnia hoặc phần Actions của Custom GPT để có sẵn mọi tham số.
Gọi thử
curl "https://techjobs.vn/api/v1/jobs?q=react&city=hcm&limit=5"{
"jobs": [
{
"id": 48213,
"title": "Senior Frontend Engineer",
"company": "OPSWAT",
"company_slug": "opswat",
"url": "https://techjobs.vn/companies/opswat/jobs/48213",
"posted_at": "2026-10-29T03:00:00.000Z",
"referral_available": true,
"referrers_count": 2
}
],
"total": 37
}total là tổng số job khớp. Khi một phần kết quả bị ẩn do giới hạn không có key, response có thêm trường notice. Job đã đóng không bao giờ được trả về.
Tham số
GET /api/v1/jobs. Mọi tham số đều không bắt buộc; có nhiều tham số thì job phải khớp tất cả.
- q
Từ khoá, khớp với tên vị trí, công ty và kỹ năng. Khớp tên vị trí xếp trước.
chuỗi, tối đa 200 ký tự
- skills
Job phải yêu cầu đủ mọi kỹ năng trong danh sách, ví dụ react,typescript.
danh sách (chuỗi), tối đa 10 giá trị
- seniority
Một hoặc nhiều cấp bậc, ngăn cách bằng dấu phẩy.
danh sách (intern, junior, mid, senior, lead), tối đa 5 giá trị
- city
Một thành phố. remote gồm cả remote-vn và remote-global.
hcm, hanoi, remote, da-nang, hai-phong, binh-duong, bac-ninh, remote-vn, remote-global
- company
Slug hoặc tên chính xác của công ty, ví dụ grab.
chuỗi, tối đa 100 ký tự
- posted_within_days
Chỉ job đăng lần đầu trong số ngày này.
số nguyên 1–90
- limit
Số job mỗi trang: tối đa 10 khi không có key, 50 khi có key.
số nguyên ≥ 1
- page
Trang kết quả, bắt đầu từ 1. Không có key: tối đa trang 3.
số nguyên ≥ 1
- response_format
concise (mặc định): tên, công ty, link. detailed: thêm thành phố, cấp bậc, kỹ năng.
concise, detailed
API key
Không bắt buộc: không có key vẫn gọi được, theo giới hạn khách. Muốn trang lớn hơn và hạn mức riêng cho tài khoản, tạo key ở trang API key rồi gửi trong header:
curl -H "Authorization: Bearer $TECHJOBS_API_KEY" "https://techjobs.vn/api/v1/jobs?skills=go&limit=50"Key chỉ hợp lệ trong header. Gửi key trên URL sẽ bị từ chối (400) để key không lọt vào log hay lịch sử trình duyệt.
Giới hạn
| Giới hạn | Không có key (theo IP) | Có key (theo tài khoản) |
|---|---|---|
| Job mỗi trang | 10 | 50 |
| Số trang | 1–3 | Không giới hạn |
| Lượt gọi / phút | ~120 | ~120 |
| Lượt gọi / ngày | 3.000 | 3.000 |
REST và MCP dùng chung một hạn mức. Chi tiết theo gói: trang giới hạn.
Lỗi
Mọi lỗi trả về { "error": "..." } với lời nhắn nói rõ cần sửa gì.
- 400
- Tham số sai, hoặc key nằm trên URL.
- 401
- Key không tồn tại hoặc đã bị thu hồi.
- 429
- Vượt giới hạn. Chờ đúng
retry_after_seconds(cũng có trong headerRetry-After) rồi mới gọi lại. - 503
- Tạm bảo trì.
Quy tắc sử dụng
- Hiển thị job ở đâu thì kèm link
url(trang job trên TechJobs.vn) và ghi nguồn TechJobs.vn. - Không bán lại dữ liệu và không dùng API để dựng cơ sở dữ liệu việc làm cạnh tranh.
- Không lách giới hạn, ví dụ tạo nhiều tài khoản hay xoay IP. Cần hạn mức cao hơn thì email cho chúng tôi.
- API miễn phí, không cam kết uptime (SLA). Trong
/v1, trường mới có thể được thêm nhưng trường cũ không bị xoá hay đổi tên.
Các quy tắc này là một phần của Điều khoản dịch vụ. Câu hỏi hoặc cần hạn mức riêng: [email protected].