API bóng đá miễn phí — Livescore, kèo, lịch thi đấu
Tích hợp dữ liệu bóng đá vào website hoặc app trong vài phút: đăng ký API key miễn phí, gọi REST với header x-api-key, theo dõi usage trên portal VSport.
- Livescore & sự kiện trận
- Lịch thi đấu · BXH
- Odds / kèo tham khảo
- REST · GraphQL · WebSocket
Tỷ số trực tiếp
Cập nhật phút, trạng thái hiệp, bàn thắng và sự kiện để dựng livescore hoặc widget tỷ số.
Lịch & kết quả
Fixture theo ngày, giải, đội — phục vụ trang lịch thi đấu và KQBD sau trận.
Bảng xếp hạng
Điểm, hiệu số, thứ hạng theo mùa giải cho các giải lớn và giải khu vực.
Kèo nhà cái
Odds tham khảo (1X2, châu Á, tài xỉu…) để hiển thị bảng tỷ lệ trên site nội dung.
Bắt đầu trong 3 bước
- Đăng ký tài khoản tại api.vsport.live — tạo API key (tối đa 5 key đang hoạt động).
- Đọc tài liệu tại api.vsport.live/docs — thử endpoint leagues, fixtures, live scores.
-
Gọi API với header
x-api-keycho REST, GraphQL hoặc WebSocket.
curl -H "x-api-key: YOUR_KEY" \
"https://api.vsport.live/api/v1/leagues?limit=5"
API bóng đá miễn phí là gì và dành cho ai?
Nếu bạn từng dựng trang tỷ số, bot Telegram thông báo bàn thắng, hoặc dashboard soi kèo nội bộ, bạn sẽ nhận ra một điểm chung: phần khó không nằm ở giao diện mà ở nguồn dữ liệu ổn định. Tự crawl website livescore dễ vỡ khi đối tác đổi HTML, dễ bị chặn IP, và khó đảm bảo độ trễ thấp khi hàng trăm trận diễn ra cùng lúc cuối tuần. Đó là lý do ngày càng nhiều team chọn API bóng đá miễn phí — một lớp trung gian đã chuẩn hóa dữ liệu thành JSON, có xác thực bằng API key, có tài liệu endpoint rõ ràng và có quota để kiểm soát chi phí.
Trang này giới thiệu cách tiếp cận thực tế với VSport API: portal tự phục vụ để tạo key, theo dõi usage, và bộ tài liệu tương tác tại docs. Nội dung viết cho lập trình viên, founder sản phẩm bóng đá, agency làm site affiliate nội dung, và cả sinh viên đang làm đồ án cần dữ liệu trận đấu thật. Bạn không cần kinh nghiệm sports data trước đó; chỉ cần biết gọi HTTP và đọc JSON là đủ để bắt đầu.
TTBD Football cũng là một site tiêu thụ dữ liệu bóng đá (livescore, kèo, lịch, BXH). Kinh nghiệm vận hành cho thấy:
khi nguồn API ổn, phần còn lại của sản phẩm — SEO, UX mobile, cache — mới có chỗ để tối ưu. Vì vậy chúng tôi giới thiệu
VSport như một lựa chọn free tier rõ ràng: đăng ký nhanh, có docs, có header x-api-key thống nhất cho REST,
GraphQL và WebSocket.
Vì sao nên dùng API thay vì tự crawl?
Độ ổn định và chi phí bảo trì
Crawl phụ thuộc cấu trúc DOM. Một lần đổi class CSS của trang nguồn có thể làm mất toàn bộ pipeline tỷ số trong giờ cao điểm.
API trả về schema ổn định hơn: mỗi trận có id, trạng thái, phút, tỷ số, đội nhà/đội khách. Khi nhà cung cấp nâng cấp,
họ thường version endpoint (/api/v1/...) thay vì âm thầm phá client. Với team nhỏ, tiết kiệm thời gian on-call
quan trọng không kém tốc độ cập nhật bàn thắng.
Pháp lý và lịch sự với nguồn dữ liệu
Nhiều trang livescore công khai không cho phép bot. Dùng API có đăng ký tài khoản và quota là cách “đi cửa chính”: bạn biết mình đang dùng dịch vụ nào, key nào, ngày nào vượt hạn mức. Portal VSport hiển thị usage theo endpoint và theo key, giúp bạn giải thích với đồng đội hoặc khách hàng khi cần scale.
Tốc độ tích hợp
Một endpoint leagues với limit=5 đủ để demo trong buổi họp. Từ đó bạn nối fixtures theo ngày, live scores,
rồi mới tới odds và standings. Tài liệu tại
Swagger UI của VSport
cho phép thử request ngay trên trình duyệt — giảm vòng lặp “đoán tham số”.
VSport API: portal, key và tài liệu
VSport Developer Portal tại https://api.vsport.live/ là nơi bạn đăng ký, đăng nhập, tạo API key, xem billing/quota và quản lý tenant (nếu làm nhiều site). Mỗi tài khoản có thể giữ tối đa năm key đang hoạt động — phù hợp khi tách môi trường dev, staging và production, hoặc khi agency vận hành nhiều thương hiệu.
Sau khi tạo key, portal nhắc lưu ngay vì key chỉ hiển thị một lần. Đây là thực hành bảo mật phổ biến: coi key như mật khẩu, không commit vào Git công khai, không nhét vào JavaScript phía trình duyệt nếu site có traffic lớn (vì người dùng có thể lấy key). Với demo nội bộ hoặc server-side render (PHP, Node, Python), key nằm ở biến môi trường là đủ.
Tài liệu kỹ thuật nằm tại https://api.vsport.live/docs. Đây là Swagger UI: liệt kê endpoint, phương thức, tham số query, mã lỗi và cho phép “Try it out” khi bạn đã có key. Khi tích hợp, hãy bookmark cả hai URL — portal để quản trị, docs để implement.
Cách xác thực: header x-api-key
Mọi kênh (REST, GraphQL, WebSocket) dùng chung header x-api-key. Ví dụ tối giản:
curl -H "x-api-key: YOUR_KEY" \
"https://api.vsport.live/api/v1/leagues?limit=5"
Trong PHP (WordPress hoặc Laravel), bạn có thể bọc bằng wp_remote_get hoặc Guzzle, luôn truyền header,
luôn kiểm tra mã HTTP trước khi json_decode. Trong Node, dùng fetch với
headers: { 'x-api-key': process.env.VSPORT_KEY }. Với WebSocket, header hoặc query key tùy docs —
hãy đối chiếu đúng phiên bản trên trang docs trước khi deploy.
Nếu nhận 401/403, kiểm tra key còn active trên portal, có bị revoke không, và tenant có bị khóa không. Nếu nhận 429, bạn đang chạm quota ngày/tháng: giảm tần suất poll, bật cache phía bạn, hoặc nâng hạn mức khi portal hỗ trợ.
Những nhóm dữ liệu bóng đá thường dùng
Giải đấu (leagues)
Endpoint leagues là điểm vào an toàn: danh sách giải, id giải, tên, đôi khi quốc gia hoặc logo. Bạn map id giải sang slug tiếng Việt trên site (ví dụ Ngoại hạng Anh, La Liga) để SEO thân thiện. TTBD Football cũng tổ chức hub theo giải — cùng tư duy “id ổn định từ API, URL đẹp trên frontend”.
Lịch thi đấu và kết quả (fixtures / results)
Lịch theo ngày giúp dựng trang “hôm nay / ngày mai”. Kết quả FT phục vụ trang KQBD.
Nên lưu match_id hoặc api_id làm khóa chính trong database của bạn để cập nhật lại cùng một trận
khi tỷ số đổi, thay vì insert bản ghi mới mỗi lần poll.
Tỷ số trực tiếp (live)
Live feed là phần nhạy cảm về độ trễ. Poll REST mỗi 15–30 giây có thể đủ cho blog; app chuyên livescore nên xem WebSocket nếu docs hỗ trợ đẩy sự kiện. Dù dùng cơ chế nào, hãy hiển thị phút và trạng thái (1H, HT, 2H, FT) rõ ràng cho người dùng Việt Nam, ưu tiên múi giờ GMT+7 khi format giờ đá.
Bảng xếp hạng (standings)
BXH cần season/league_id đúng. Cache BXH lâu hơn live (vài phút đến vài giờ) vì bảng không đổi từng giây. Trên TTBD, BXH nằm dưới danh sách trận trang chủ — cùng pattern “đọc API, cache, render HTML”.
Đội bóng, cầu thủ, sự kiện trận
Profile đội và sự kiện (bàn thắng, thẻ, thay người) làm giàu trang chi tiết trận.
Đây cũng là chỗ schema SportsEvent trên site nội dung phát huy: Google hiểu trận đấu khi bạn có tên đội, giờ đá, sân.
Odds / kèo tham khảo
Odds giúp trang nội dung hiển thị tỷ lệ 1X2, châu Á, tài xỉu. Nhấn mạnh với người dùng cuối: đây là thông tin tham khảo thị trường, không phải lời khuyên cá cược, đặc biệt với độc giả chưa đủ 18 tuổi. API chỉ cung cấp số; trách nhiệm hiển thị và disclaimer thuộc về bạn.
Thiết kế kiến trúc tích hợp gợi ý
Một kiến trúc bền: worker đồng bộ gọi VSport theo lịch, ghi vào MySQL/PostgreSQL/Redis của bạn; website chỉ đọc database nội bộ. Cách này giảm số request API, tránh lộ key, và cho phép trang chủ SSR nhanh (đúng hướng TTBD đang làm với feed trận và shell trang chi tiết).
Với WordPress, có thể viết plugin đồng bộ cron: mỗi phút lấy live, mỗi 5–15 phút lấy fixtures ngày, mỗi giờ lấy standings. Với Next.js hoặc Nuxt, dùng route handler phía server làm proxy — trình duyệt không bao giờ thấy API key.
Đừng quên idempotency: cùng một api_id trận chỉ một hàng trong bảng matches. Khi API trả tỷ số mới, bạn UPDATE
chứ không INSERT trùng. Index theo match_date, league_id, is_live giúp trang chủ lọc nhanh.
Ví dụ tích hợp thực tế
Widget livescore nhúng blog
Worker lấy danh sách trận live, lưu JSON rút gọn (tên đội, tỷ số, phút). Shortcode WordPress đọc JSON và render bảng. Cache transient 20–30 giây. Người đọc blog thấy tỷ số cập nhật mà server của bạn không gọi API mỗi pageview.
Trang lịch thi đấu theo giải
Map league_id Ngoại hạng Anh sang URL /lich-thi-dau/ngoai-hang-anh/. Mỗi đêm đồng bộ fixtures tuần tới.
SEO hưởng lợi từ nội dung ổn định; API lo phần “giờ đá có đổi lịch không”.
Bot thông báo bàn thắng
Poll live hoặc lắng nghe WebSocket, so sánh sự kiện mới với lần trước, gửi Telegram khi có bàn. Free tier phù hợp bot nhóm nhỏ; khi số nhóm tăng, theo dõi quota trên portal để không bị cắt giữa trận derby.
Dashboard nội bộ agency
Nhiều site con dùng chung một tenant, mỗi site một API key để đo usage riêng. Portal VSport hỗ trợ tư duy này qua danh sách key, quota ngày và thống kê endpoint — tiện khi báo cáo cho khách “tháng này site A tốn bao nhiêu request live”.
Thực hành tốt khi dùng API bóng đá miễn phí
- Cache thông minh: live ngắn, fixtures trung bình, standings dài hơn.
- Giới hạn đồng thời: không bắn hàng trăm request song song khi sync lần đầu; phân trang và backoff.
- Log có kiểm soát: log mã lỗi và endpoint, không log full API key.
- Timezone: lưu UTC trong DB, hiển thị GMT+7 trên UI tiếng Việt.
- Fallback UI: khi API chậm, hiện dữ liệu cache cũ kèm nhãn “cập nhật lúc …” thay vì trang trắng.
- Không lộ key: mọi gọi từ server; nếu bắt buộc gọi từ app mobile, dùng backend của bạn làm cổng.
Free tier phù hợp giai đoạn nào?
Free tier lý tưởng cho MVP, đồ án, site nội dung mới, hoặc tính năng phụ (ví dụ khối “trận hôm nay” trên blog tin tức). Khi bạn có traffic lớn, nhiều worker, hoặc cần độ trễ cực thấp cho app chuyên livescore, hãy xem quota trên portal và kế hoạch nâng cấp. Dù ở tier nào, thói quen đo usage từ ngày đầu giúp tránh bất ngờ khi sản phẩm bùng nổ sau một mùa World Cup hay chung kết Cúp C1.
So với tự host toàn bộ pipeline thu thập, free API đánh đổi sự chủ động tuyệt đối lấy tốc độ ra mắt. Với hầu hết sản phẩm tiếng Việt hướng người đọc — không phải sàn giao dịch — độ tin cậy và thời gian ra mắt quan trọng hơn việc sở hữu mọi byte thô từ nguồn gốc.
Gắn API với trải nghiệm người dùng trên site bóng đá
Dữ liệu tốt vẫn cần lớp trình bày tốt. Trên mobile, ưu tiên tỷ số và phút; để thống kê, đội hình ở tab phụ. Trên desktop, có thể hiện BXH cạnh danh sách trận. TTBD Football áp dụng hướng progressive: shell trang trận nhanh, panel chi tiết tải sau — bạn có thể học pattern này khi dựng client trên dữ liệu VSport.
Về SEO, HTML nên chứa tên đội, giờ đá, giải đấu ngay từ server render. API là nguồn, không phải thứ Googlebot phải gọi. Kết hợp nội dung biên tập (nhận định, tin tức) với dữ liệu số giúp trang vừa hữu ích vừa có lý do được chia sẻ.
Checklist triển khai tuần đầu
- Tạo tài khoản tại api.vsport.live.
- Tạo API key, lưu vào trình quản lý bí mật (1Password, Vault, env CI).
- Mở docs, gọi thử
/api/v1/leagues. - Thiết kế bảng
matches,leagues,standingstrong DB của bạn. - Viết job sync fixtures hôm nay và live; chạy local 24 giờ để quan sát lỗi mạng.
- Render một trang HTML đơn giản từ DB; đo thời gian phản hồi.
- Bật cache và giới hạn tần suất; đối chiếu usage trên portal.
- Thêm disclaimer kèo nếu bạn hiển thị odds.
- Chuẩn bị runbook: key bị lộ thì revoke trên portal trong bao lâu?
- Lên lịch review quota mỗi tuần trong tháng đầu.
Câu hỏi thường gặp về API bóng đá miễn phí
API bóng đá miễn phí VSport dùng để làm gì?
Để lấy dữ liệu livescore, lịch thi đấu, bảng xếp hạng, thông tin đội và odds tham khảo, phục vụ website, ứng dụng hoặc bot. Bạn không cần tự crawl các trang tỷ số công khai.
Làm sao lấy API key miễn phí?
Vào https://api.vsport.live/, đăng ký hoặc đăng nhập, mở mục API Keys, tạo key mới và lưu lại ngay. Mỗi tài khoản có thể có tối đa năm key đang hoạt động.
Tài liệu chi tiết nằm ở đâu?
Tại https://api.vsport.live/docs (Swagger UI). Ở đó bạn xem endpoint, thử request và nắm định dạng phản hồi.
Header xác thực là gì?
Dùng x-api-key: YOUR_KEY cho REST, GraphQL và WebSocket theo hướng dẫn portal.
Có theo dõi được số request không?
Có. Portal hiển thị usage theo ngày, theo key và top endpoint — hữu ích khi tối ưu cache hoặc giải thích chi phí vận hành.
Có nên gọi API trực tiếp từ trình duyệt người dùng?
Không khuyến khích với traffic thật: key dễ bị lấy và lạm dụng. Hãy gọi từ server hoặc worker của bạn, rồi trả HTML/JSON đã lọc cho client.
TTBD Football liên quan thế nào?
TTBD là site livescore và kèo tiếng Việt, dùng dữ liệu bóng đá để phục vụ người đọc. Trang này chia sẻ hướng tích hợp API miễn phí để cộng đồng developer Việt Nam dựng sản phẩm tương tự nhanh hơn, với nguồn VSport có portal và docs rõ ràng.
Xử lý lỗi và giám sát vận hành
Mọi tích hợp API cuối cùng đều gặp lỗi mạng, timeout hoặc phản hồi không đúng schema kỳ vọng. Hãy phân loại rõ:
lỗi tạm thời (timeout, 502, 503) nên retry với backoff ngẫu nhiên; lỗi xác thực (401, 403) không retry vô hạn mà cảnh báo người vận hành;
lỗi 404 trên một match_id có thể do trận bị hủy hoặc id sai — ghi log và bỏ qua thay vì làm hỏng cả job.
Giám sát tối thiểu gồm: tỷ lệ thành công theo endpoint, độ trễ p95, số lần chạm gần quota, và “tuổi” của dữ liệu live trên site (ví dụ trận đang đá mà không cập nhật quá hai phút). Khi các chỉ số này hiển thị trên dashboard nội bộ, team nội dung và team kỹ thuật nói cùng một ngôn ngữ: không còn tranh cãi “tại sao tỷ số trên web chậm” mà không có số liệu.
Nên có môi trường staging dùng key riêng. Portal cho phép nhiều key — tận dụng để tránh việc thử nghiệm làm lệch thống kê usage production. Khi rotate key, cập nhật secret trên server trước, xác nhận traffic mới chạy ổn, rồi mới revoke key cũ trên portal VSport.
Bảo mật API key và tuân thủ khi hiển thị dữ liệu
API key là chìa khóa tính tiền và tính toàn vẹn dịch vụ. Không đưa key vào repository công khai, không dán vào issue tracker, không gửi qua kênh chat không mã hóa. Nếu nghi ngờ lộ, revoke ngay trên portal và tạo key mới. Với team đông người, phân quyền ai được xem secret — không phải ai cũng cần quyền tạo key.
Về nội dung hiển thị: odds và gợi ý thị trường cần disclaimer rõ. Livescore là sự kiện thể thao công khai ở mức thông tin, nhưng cách bạn đóng gói (có khuyến khích cá cược hay không) ảnh hưởng uy tín thương hiệu. API chỉ là ống dẫn dữ liệu; phần chính sách nằm ở sản phẩm của bạn. Nếu site hướng tới người dùng Việt Nam, giữ ngôn ngữ minh bạch và tuân thủ quy định địa phương là lợi thế dài hạn so với những trang “hứa hẹn ăn chắc”.
Mở rộng từ free tier lên sản phẩm nghiêm túc
Nhiều sản phẩm bắt đầu bằng một trang chủ SSR và vài trang giải. Khi traffic tăng, bạn tách worker đồng bộ ra máy riêng, thêm hàng đợi, thêm read replica database. Free API vẫn có thể là nguồn — miễn là bạn không gọi API trên mỗi HTTP request của người dùng. Lớp cache và DB nội bộ chính là “bộ giảm xóc” giữa cộng đồng người đọc và hạn mức API.
Khi cần thêm trường dữ liệu (ví dụ thống kê nâng cao, lineups chi tiết), quay lại api.vsport.live/docs để xem endpoint mới thay vì tự suy diễn. Đọc changelog nếu portal có thông báo; subscribe email tài khoản để không bỏ lỡ bảo trì.
Cuối cùng, hãy viết tài liệu nội bộ ngắn cho đồng đội: cách lấy key, biến môi trường nào đang dùng, cron nào đang chạy, liên hệ khi quota đầy. Một trang README trong repo tiết kiệm hàng giờ onboarding — và giảm rủi ro chỉ một người hiểu hệ thống.
Kết luận
API bóng đá miễn phí rút ngắn khoảng cách giữa ý tưởng sản phẩm và bản demo có dữ liệu thật. Với VSport, bạn đăng ký key tại api.vsport.live, đọc đặc tả tại api.vsport.live/docs, gọi thử leagues bằng một lệnh curl, rồi mở rộng sang fixtures, live và standings. Hãy đầu tư sớm vào cache, mô hình dữ liệu và bảo vệ key — đó là khác biệt giữa một widget chạy tốt cuối tuần và một hệ thống phải vá lửa mỗi khi có vòng đấu lớn.
Nếu bạn đang xây cổng bóng đá tiếng Việt, kết hợp API với nội dung hữu ích (giải thích kèo, lịch theo GMT+7, trang giải rõ ràng) sẽ tạo trải nghiệm trọn hơn là chỉ đổ bảng số. Chúc bạn tích hợp thuận lợi — và đừng quên lưu API key ngay khi portal hiển thị lần đầu.
Sẵn sàng tích hợp?
Mở portal để tạo key, rồi mở Swagger docs để gọi thử endpoint đầu tiên.
Cập nhật lần cuối: 04/07/2026 (GMT+7)