Lấy dữ liệu Google Trends bằng Python và proxy
Google Trends là công cụ miễn phí của Google cho biết mức độ quan tâm tới một từ khoá thay đổi theo thời gian và khu vực. Vấn đề là Google chưa mở API công khai đầy đủ, nên lấy dữ liệu tự động cần chọn đúng cách. Bài này ProxyVN đi qua bốn cách: tải CSV thủ công, thư viện pytrends, Trends API bản alpha, dịch vụ trung gian. Kèm đó là cách xử lý lỗi 429, khi nào cần proxy và cách dùng dữ liệu để chọn từ khoá theo mùa vụ. Tham khảo dịch vụ tại ProxyVN.
Tổng quan về dữ liệu Google Trends
Trước khi viết mã, anh em cần hiểu con số trên biểu đồ nghĩa là gì. Rất nhiều người đọc sai dữ liệu xu hướng vì tưởng đó là số lượt tìm kiếm thật.
Con số 0 đến 100 nghĩa là gì
Theo giải thích về cách điều chỉnh dữ liệu của Google Trends, công cụ không đếm toàn bộ lượt tìm kiếm mà dùng một mẫu đại diện. Mỗi điểm dữ liệu được chia cho tổng lượt tìm kiếm của khu vực và khoảng thời gian đó, rồi quy về thang 0 đến 100 theo tỷ lệ của chủ đề trong toàn bộ tìm kiếm.
Giá trị 100 là đỉnh quan tâm trong khoảng thời gian đang xem, không phải 100 lượt tìm kiếm. Giá trị 50 nghĩa là mức quan tâm bằng một nửa đỉnh. Khi đổi khoảng thời gian hay thêm bớt từ khoá so sánh, mọi con số được tính lại, nên không ghép dữ liệu của hai lần tải khác nhau một cách máy móc.
Các điều chỉnh khác cần biết
Google còn áp dụng vài điều chỉnh ảnh hưởng tới cách đọc dữ liệu:
- Từ khoá có quá ít người tìm hiển thị là 0, dù không phải không có ai tìm.
- Lượt tìm lặp lại của cùng một người trong thời gian ngắn bị loại.
- Truy vấn chứa dấu nháy đơn hay ký tự đặc biệt bị lọc.
- Một lượng nhiễu thống kê được thêm vào để bảo vệ quyền riêng tư, rõ nhất ở từ khoá ít người tìm.
Hệ quả thực tế là dữ liệu của từ khoá ngách tại Việt Nam thường nhấp nhô thất thường. Anh em nên xem theo tuần hoặc tháng thay vì theo ngày với các từ khoá này.
Google Trends dùng để làm gì
Dữ liệu xu hướng hữu ích cho nhiều việc: chọn thời điểm đăng bài, lên kế hoạch nhập hàng theo mùa, so sánh mức quan tâm giữa các thương hiệu, phát hiện chủ đề đang nổi. Nó không thay được công cụ đo lượng tìm kiếm thực tế, nhưng bổ sung rất tốt về mặt thời điểm và khu vực.
Bốn cách lấy dữ liệu Google Trends

Chỉ số tương đối từ 0 đến 100
Mỗi cách hợp với một kiểu nhu cầu riêng. Bảng dưới so sánh nhanh bốn hướng để anh em chọn theo khối lượng và mức độ tự động hoá cần thiết.
Cách |
Tự động |
Độ ổn định |
Chi phí |
Hợp với |
|---|---|---|---|---|
Tải CSV thủ công |
Không |
Cao |
Miễn phí |
Vài chục từ khoá, báo cáo định kỳ |
pytrends |
Có |
Thấp, dễ vỡ |
Miễn phí |
Thử nghiệm, dự án nhỏ |
Trends API alpha |
Có |
Cao |
Chưa công bố |
Dự án được Google duyệt |
Dịch vụ SERP API |
Có |
Cao |
Trả phí theo lượt |
Khối lượng lớn, cần ổn định |
Phần dưới đi qua từng cách, kèm mã chạy được với các cách có lập trình.
Tải CSV thủ công
Trên giao diện web của Google Trends, mỗi biểu đồ có nút tải xuống ở góc phải, xuất ra tệp CSV. Anh em chọn từ khoá, khu vực Việt Nam, khoảng thời gian, rồi tải từng biểu đồ: mức quan tâm theo thời gian, theo tỉnh thành, chủ đề và truy vấn liên quan.
Cách này chậm nhưng đáng tin cậy nhất, không bao giờ bị chặn. Với báo cáo hàng tháng chỉ cần vài chục từ khoá, tải thủ công rồi gộp bằng bảng tính là đủ, không cần viết mã.
Trends API bản alpha
Theo trang Google Trends API trên Google for Developers, Google đã mở bản alpha cho một nhóm nhà phát triển giới hạn. API cung cấp dữ liệu trong cửa sổ trượt 5 năm gần nhất, gộp theo ngày, tuần, tháng, năm, so sánh được giữa quốc gia và vùng con.
Điểm khác quan trọng là dữ liệu được chuẩn hoá nhất quán, không quy về 0 đến 100 cho từng lần truy vấn như trên web. Nhờ vậy có thể so sánh nhiều lần lấy với nhau, so sánh được hàng chục từ khoá cùng lúc, và chỉ lấy phần dữ liệu mới mà không phải tải lại cả lịch sử. Muốn dùng, anh em phải nộp đơn xin tham gia thử nghiệm với trường hợp sử dụng cụ thể.
Dịch vụ SERP API
Các dịch vụ thu thập kết quả tìm kiếm thương mại thường có thêm điểm cuối cho dữ liệu xu hướng. Họ lo phần proxy, xử lý chặn, trả về JSON ổn định, anh em trả phí theo lượt gọi. Đây là lựa chọn hợp lý khi cần khối lượng lớn và không muốn tự bảo trì mã. Bài SERP API so sánh các dịch vụ loại này.
Lấy dữ liệu Google Trends bằng pytrends

Bốn cách lấy dữ liệu xu hướng
Pytrends là thư viện Python không chính thức phổ biến nhất để lấy dữ liệu xu hướng. Nó giả lập cách trình duyệt gọi vào các điểm cuối nội bộ của trang web Trends.
Tình trạng của thư viện
Cần nói rõ trước: theo kho mã pytrends trên GitHub, dự án đã được lưu trữ ở chế độ chỉ đọc từ ngày 17/4/2025. README ghi thư viện chỉ chạy được cho tới khi Google thay đổi hệ thống phía sau, và nhóm phát triển đang tìm người duy trì. Pytrends có thể ngừng hoạt động bất cứ lúc nào mà không có bản sửa.
Vì vậy chỉ nên dùng pytrends cho thử nghiệm, phân tích một lần, hoặc dự án nhỏ chấp nhận rủi ro. Hệ thống chạy hằng ngày phục vụ khách hàng nên dùng Trends API chính thức hoặc dịch vụ có cam kết.
Cài đặt và kết nối
Cài bằng pip, rồi tạo đối tượng kết nối. Với dữ liệu Việt Nam, anh em đặt ngôn ngữ tiếng Việt và múi giờ UTC+7, tham số `tz` tính bằng phút lệch so với UTC theo chiều ngược, nên là `-420`:
pip install pytrends pandas
from pytrends.request import TrendReq
pytrends = TrendReq(hl='vi-VN', tz=-420)
Mức quan tâm theo thời gian
Hàm `build_payload` nhận danh sách tối đa năm từ khoá, danh mục, khoảng thời gian, khu vực. Sau đó gọi `interest_over_time` để nhận bảng dữ liệu pandas:
kw_list = ["mua proxy", "vpn", "proxy"]
pytrends.build_payload(kw_list, cat=0, timeframe='today 12-m', geo='VN', gprop='')
df = pytrends.interest_over_time()
print(df.tail())
df.to_csv("xu-huong-12-thang.csv", encoding="utf-8-sig")
Tham số `timeframe` nhận các giá trị như `today 5-y`, `today 12-m`, `today 3-m`, `now 7-d`, hoặc khoảng ngày cụ thể dạng `2026-01-01 2026-06-30`. Tham số `gprop` để trống là tìm kiếm web, đổi thành `youtube`, `news`, `images` để xem xu hướng trên các mảng khác.
Theo tỉnh thành và truy vấn liên quan
Hai hàm hữu ích khác cho nghiên cứu thị trường trong nước:
vung = pytrends.interest_by_region(resolution='REGION', inc_low_vol=True)
print(vung.sort_values("mua proxy", ascending=False).head(10))
lien_quan = pytrends.related_queries()
print(lien_quan["mua proxy"]["rising"])
Hàm thứ nhất cho biết tỉnh thành nào quan tâm nhiều nhất, tính theo tỷ lệ chứ không theo số lượng. Hàm thứ hai trả về truy vấn liên quan, phần `rising` là các truy vấn đang tăng nhanh, rất hợp để tìm ý tưởng nội dung mới.
Xử lý lỗi 429 khi gọi Google Trends

Khi bị trả về lỗi 429
Lỗi phổ biến nhất khi dùng pytrends là mã 429 Too Many Requests. Đây là cơ chế giới hạn tần suất của Google, không phải lỗi của thư viện.
Vì sao bị giới hạn
Google không công bố mức giới hạn cụ thể. README của pytrends ghi lại kinh nghiệm của người dùng: một người chạm giới hạn sau khoảng 1.400 request liên tiếp, và nghỉ 60 giây giữa các request sau khi chạm giới hạn có vẻ là mức phù hợp. Thực tế, giới hạn còn phụ thuộc vào IP, loại IP, thời điểm và kiểu truy vấn.
IP từ trung tâm dữ liệu như VPS hay máy chủ đám mây thường bị giới hạn chặt hơn IP gia đình. Nhiều người chạy thử trên máy cá nhân thấy ổn, đưa lên máy chủ thì gặp 429 ngay từ những request đầu. Bài mua proxy bị lỗi 429 phân tích chi tiết bao nhiêu request trên mỗi IP là quá nhiều.
Giãn tần suất và thử lại
Cách đầu tiên luôn là giảm tốc độ. Pytrends có sẵn tham số thử lại và hệ số giãn cách, kết hợp với khoảng nghỉ chủ động giữa các lượt:
import time, random
from pytrends.request import TrendReq
pytrends = TrendReq(hl='vi-VN', tz=-420, timeout=(10, 25),
retries=3, backoff_factor=0.5)
nhom_tu_khoa = [["proxy", "vpn"], ["mua proxy", "proxy giá rẻ"], ["proxy xoay"]]
ket_qua = []
for nhom in nhom_tu_khoa:
pytrends.build_payload(nhom, timeframe='today 12-m', geo='VN')
ket_qua.append(pytrends.interest_over_time())
time.sleep(random.uniform(20, 40))
Khoảng nghỉ ngẫu nhiên 20 đến 40 giây giữa các lượt giúp tránh nhịp đều đặn dễ bị phát hiện. Với vài chục nhóm từ khoá, cả quá trình chỉ mất vài chục phút, chấp nhận được với tác vụ chạy hằng tuần.
Lưu bộ nhớ đệm
Dữ liệu xu hướng theo tháng không đổi nhiều trong ngày. Lưu kết quả vào tệp hoặc cơ sở dữ liệu, chỉ gọi lại khi dữ liệu cũ hơn một ngày, giúp giảm đáng kể số request. Request không gửi là request không bao giờ bị chặn.
Dùng proxy khi lấy dữ liệu Google Trends
Proxy giúp phân tán request qua nhiều IP và lấy dữ liệu từ IP đúng quốc gia. Nhưng cần dùng đúng mực, vì mục đích là thu thập hợp lý chứ không phải gửi khối lượng vượt giới hạn.
Cấu hình proxy trong pytrends
Theo README, tham số `proxies` nhận danh sách proxy, có ghi cổng. Thư viện dùng các proxy này cho kết nối HTTPS tới Google, nên proxy phải hỗ trợ HTTPS qua phương thức CONNECT:
from pytrends.request import TrendReq
danh_sach_proxy = [
'http://user:pass@ip1:port',
'http://user:pass@ip2:port',
]
pytrends = TrendReq(hl='vi-VN', tz=-420, timeout=(10, 25),
proxies=danh_sach_proxy, retries=2, backoff_factor=0.5)
Khi một proxy bị trả 429, pytrends tự chuyển sang proxy kế tiếp trong danh sách. Ví dụ trong README có dùng `requests_args={'verify': False}` để bỏ kiểm tra chứng chỉ, nhưng ProxyVN không khuyên làm vậy với proxy đáng tin cậy. Định dạng chuỗi proxy chuẩn được hướng dẫn trong bài proxy scraping Google.
IP Việt Nam cho dữ liệu Việt Nam
Tham số `geo='VN'` quy định khu vực của dữ liệu, không phụ thuộc vào IP. Tuy vậy, IP vẫn ảnh hưởng tới ngôn ngữ giao diện, cookie và mức độ bị nghi ngờ. Gọi từ IP nước ngoài với cấu hình tiếng Việt là tổ hợp bất thường. Dùng IP Việt Nam giúp phiên làm việc tự nhiên hơn khi nghiên cứu thị trường trong nước.
Với nghiên cứu nhiều thị trường, mỗi thị trường dùng IP của chính quốc gia đó. Bài proxy nghiên cứu thị trường bàn kỹ về việc thu thập dữ liệu đúng khu vực.
Proxy không phải để vượt giới hạn
Thêm nhiều proxy để gửi hàng chục nghìn request mỗi giờ là đi ngược tinh thần của giới hạn tần suất, và vi phạm điều khoản dịch vụ của Google. ProxyVN không hướng dẫn cách làm đó. Với nhu cầu khối lượng lớn, đăng ký Trends API chính thức hoặc dùng dịch vụ có thoả thuận là con đường bền vững hơn.
Ứng dụng dữ liệu Google Trends vào SEO và bán hàng

Chọn từ khoá theo mùa vụ
Dữ liệu chỉ có giá trị khi biến thành quyết định. Phần này gợi ý cách dùng xu hướng tìm kiếm cho doanh nghiệp Việt Nam.
Lên lịch nội dung theo mùa vụ
Nhiều ngành có mùa cao điểm rõ rệt: đồ Tết, quà tặng 8/3 và 20/10, đồ dùng học tập tháng 8, khuyến mãi 11/11 và 12/12. Xem dữ liệu 5 năm theo tuần, anh em thấy mức quan tâm bắt đầu tăng từ thời điểm nào. Bài viết nên đăng trước đỉnh vài tuần để kịp được Google lập chỉ mục và xếp hạng.
Ví dụ, nếu một từ khoá mùa Tết bắt đầu tăng từ đầu tháng 12, bài viết nên lên từ giữa tháng 11. Đợi tới khi đỉnh xuất hiện mới viết là đã muộn một mùa.
Chọn giữa các từ khoá gần nghĩa
Khi phân vân giữa hai cách gọi cho cùng một sản phẩm, so sánh trên cùng một biểu đồ cho biết người dùng quen gọi cách nào hơn và xu hướng đang nghiêng về đâu. Từ khoá đang tăng đều qua các năm đáng đầu tư hơn từ khoá đang giảm dần, dù hiện tại mức quan tâm tương đương.
Cách làm SEO bền vững dựa trên dữ liệu thật như vậy được bàn trong bài proxy SEO website lên top, với nguyên tắc dùng công cụ để hỗ trợ phân tích chứ không thao túng thứ hạng.
Phân bổ ngân sách theo vùng
Dữ liệu theo tỉnh thành cho biết khu vực nào quan tâm tương đối cao tới sản phẩm. Doanh nghiệp có thể ưu tiên ngân sách quảng cáo hay mở điểm bán ở những tỉnh có mức quan tâm cao. Nhớ rằng đây là tỷ lệ, tỉnh nhỏ có thể đứng đầu dù tổng lượt tìm thấp hơn thành phố lớn.
Phát hiện chủ đề mới nổi
Phần truy vấn đang tăng trong mục liên quan là kho ý tưởng nội dung. Truy vấn được gắn nhãn tăng đột biến thường là chủ đề mới chưa nhiều đối thủ viết. Nắm bắt sớm giúp nội dung có cơ hội xếp hạng tốt trước khi thị trường bão hoà.
Đọc đúng dữ liệu Google Trends để tránh kết luận sai
Lấy được dữ liệu mới là một nửa công việc. Nửa còn lại là đọc đúng, vì biểu đồ xu hướng rất dễ khiến người xem rút ra kết luận sai nếu quên các điều chỉnh phía sau.
Không so sánh hai lần tải riêng lẻ
Mỗi lần truy vấn, đỉnh trong khoảng thời gian đó được quy về 100. Tải từ khoá A riêng, từ khoá B riêng, rồi đặt hai đường cạnh nhau là sai, vì mỗi đường có thang riêng. Muốn so sánh, phải đưa cả hai vào cùng một lần truy vấn. Với hơn năm từ khoá, chọn một từ khoá làm mốc chung có mặt trong mọi nhóm, rồi quy đổi các nhóm về theo mốc đó.
Chủ đề và từ khoá khác nhau
Giao diện web cho chọn giữa từ khoá dạng chữ và chủ đề. Chủ đề gộp nhiều cách viết, nhiều ngôn ngữ của cùng một khái niệm, còn từ khoá chỉ tính đúng chuỗi chữ đó. Với tiếng Việt, cách viết có dấu và không dấu được tính khác nhau ở dạng từ khoá. Anh em nên thử cả hai dạng để thấy bức tranh đầy đủ.
Đỉnh đột biến do sự kiện
Một đỉnh nhọn bất thường thường do tin tức, sự cố hay chiến dịch quảng cáo lớn, không phản ánh nhu cầu lâu dài. Khi lên kế hoạch nội dung, hãy nhìn đường nền qua nhiều năm thay vì bị cuốn theo một đỉnh. Đỉnh đột biến lại có giá trị cho nội dung tin tức cần ra nhanh.
Thiếu dữ liệu không có nghĩa là không có nhu cầu
Từ khoá ngách hiển thị toàn số 0 chỉ có nghĩa là dưới ngưỡng hiển thị của công cụ. Với thị trường nhỏ như một số ngành dịch vụ chuyên biệt ở Việt Nam, đây là chuyện thường gặp. Anh em nên kết hợp với dữ liệu từ Search Console hoặc công cụ đo lượng tìm kiếm để có con số cụ thể hơn.
So sánh Google Trends với các công cụ nghiên cứu từ khoá khác
Dữ liệu xu hướng không đứng một mình. Kết hợp với các nguồn khác giúp quyết định chính xác hơn.
Bảng so sánh nhanh
Công cụ |
Loại dữ liệu |
Điểm mạnh |
Giới hạn |
|---|---|---|---|
Google Trends |
Mức quan tâm tương đối |
Thời điểm, vùng, xu hướng nhiều năm |
Không có số lượng thực tế |
Keyword Planner |
Lượng tìm kiếm ước tính |
Có con số, gợi ý từ khoá |
Khoảng rộng nếu không chạy quảng cáo |
Search Console |
Lượt hiển thị, nhấp thật |
Dữ liệu của chính website |
Chỉ có từ khoá website đã hiện |
Công cụ SEO trả phí |
Lượng tìm, độ khó, đối thủ |
Phân tích cạnh tranh |
Số liệu ước tính, chi phí cao |
Cách kết hợp hay dùng là chọn từ khoá bằng công cụ có con số lượng tìm kiếm, rồi dùng dữ liệu xu hướng để quyết định thời điểm đăng bài và theo dõi từ khoá đang lên hay xuống.
Tự động hoá báo cáo Google Trends hằng tuần
Gom các phần trên lại, anh em có thể dựng một quy trình nhỏ tự lấy dữ liệu, lưu lại và gửi báo cáo mỗi tuần mà không phải mở trình duyệt.
Thiết kế quy trình
Quy trình gợi ý gồm bốn bước. Đọc danh sách nhóm từ khoá từ một tệp cấu hình. Lấy dữ liệu từng nhóm với khoảng nghỉ hợp lý, dùng bộ nhớ đệm để không lấy lại dữ liệu chưa cũ. Lưu kết quả vào bảng tính hoặc cơ sở dữ liệu theo ngày lấy. Cuối cùng xuất biểu đồ, so sánh với tuần trước và gửi qua email hay nhóm chat.
Lên lịch chạy vào giờ thấp điểm, ví dụ sáng sớm Chủ nhật, bằng cron trên Linux hoặc Task Scheduler trên Windows. Mỗi tuần chạy một lần với vài chục nhóm từ khoá hầu như không chạm giới hạn tần suất.
Chuẩn bị phương án dự phòng
Vì pytrends có thể ngừng hoạt động bất ngờ, quy trình nên có cảnh báo khi lấy dữ liệu thất bại liên tiếp. Khi đó chuyển tạm sang tải CSV thủ công, đồng thời xem xét đăng ký Trends API hoặc dịch vụ trả phí. Tách phần lấy dữ liệu thành một hàm riêng giúp thay nguồn dữ liệu mà không phải viết lại phần phân tích và báo cáo.
Ghi chú khi đọc dữ liệu tự động
Do dữ liệu được quy về thang 0 đến 100 cho mỗi lần truy vấn, số liệu của tuần này và tuần trước có thể lệch nhẹ cho cùng một ngày trong quá khứ. Khi so sánh, anh em nên so xu hướng và hình dạng đường biểu đồ, không so từng con số cụ thể. Đây là giới hạn cố hữu của dữ liệu web, Trends API bản alpha khắc phục được nhờ chuẩn hoá nhất quán.
Lưu trữ dữ liệu Google Trends để phân tích dài hạn
Dữ liệu xu hướng có giá trị nhất khi được tích luỹ qua nhiều tháng, nhiều năm. Một cách lưu trữ gọn gàng ngay từ đầu giúp phân tích về sau đỡ vất vả.
Lưu kèm ngữ cảnh truy vấn
Mỗi bảng dữ liệu nên đi kèm thông tin: danh sách từ khoá trong cùng truy vấn, khu vực, khoảng thời gian, ngày lấy. Thiếu ngữ cảnh, vài tháng sau nhìn lại sẽ không biết con số 100 của tệp nào ứng với đỉnh của từ khoá nào. Cách đơn giản là đặt tên tệp theo quy ước, ví dụ `VN_today12m_proxy-vpn_2026-10-22.csv`.
Dùng cơ sở dữ liệu nhỏ
Khi số tệp lên tới hàng trăm, chuyển sang một cơ sở dữ liệu nhỏ như SQLite sẽ dễ truy vấn hơn. Mỗi dòng gồm ngày dữ liệu, từ khoá, giá trị, khu vực, mã lần truy vấn. Từ đó anh em vẽ biểu đồ so sánh theo năm, tính mức tăng trưởng theo mùa chỉ bằng vài câu lệnh.
Ghi nhận thay đổi của nguồn dữ liệu
Google thỉnh thoảng cải tiến cách thu thập và xử lý dữ liệu xu hướng, tạo ra các bước nhảy bất thường trên biểu đồ dài hạn. Trang web Trends thường ghi chú các mốc này trên biểu đồ. Anh em nên ghi lại các mốc đó trong ghi chú phân tích, để không nhầm một thay đổi phương pháp đo với một thay đổi thật của thị trường.
Chọn proxy phù hợp cho nghiên cứu Google Trends
Với khối lượng nhỏ chạy hằng tuần, nhiều khi không cần proxy. Proxy cần thiết khi chạy trên máy chủ đám mây, khi nghiên cứu nhiều quốc gia, hoặc khi nhiều tác vụ nghiên cứu chạy chung một IP văn phòng.
Ưu tiên IP dân cư cho dịch vụ của Google
Các dịch vụ của Google đánh giá IP khá kỹ. IP datacenter dễ bị yêu cầu xác minh hoặc trả 429 sớm hơn IP dân cư. Với tác vụ nghiên cứu Google Trends, một vài proxy dân cư tĩnh dùng luân phiên kèm khoảng nghỉ hợp lý thường cho kết quả ổn định hơn nhiều proxy datacenter.
Khi cần IP Việt Nam cho nghiên cứu thị trường trong nước, anh em có thể mua proxy giá rẻ tại ProxyVN, gồm dân cư tĩnh Viettel, VNPT, FPT và datacenter Việt Nam, hỗ trợ HTTP và SOCKS5, cấp sẵn tên đăng nhập và mật khẩu dùng ngay với pytrends.
Kết luận
Google Trends chưa có API công khai đầy đủ, nên anh em chọn cách lấy dữ liệu theo nhu cầu: tải CSV, pytrends cho thử nghiệm, Trends API alpha hoặc dịch vụ trả phí khi cần ổn định. Giãn tần suất, lưu đệm và dùng proxy đúng mực để tránh lỗi 429. Cần tư vấn thêm, hãy liên hệ Proxy.vn - Nhà cung cấp dịch vụ proxy chất lượng hàng đầu Việt Nam khi nghiên cứu Google Trends.