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ùng

Claude, 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"
Kết quả (rút gọn)
{
  "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ạnKhông có key (theo IP)Có key (theo tài khoản)
Job mỗi trang1050
Số trang1–3Không giới hạn
Lượt gọi / phút~120~120
Lượt gọi / ngày3.0003.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 header Retry-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].