Vài tuần trước, có người trong Slack của team mình quăng vào một đường link rồi hỏi: “Khoan đã, đây có phải cũng là Ferret không?” Không phải. Hóa ra có một mô hình thị giác của Apple tên Ferret, một công cụ dữ liệu của NOAA cũng tên Ferret, rồi còn MontFerret — một framework tự động hóa trình duyệt mã nguồn mở mà dev dùng để viết script scraping bằng thứ gọi là FQL. Mấy thứ đó chẳng liên quan gì với nhau cả, và nếu bạn đang tìm “Thunderbit vs MontFerret” lúc này, rất có thể bạn cũng vừa đi qua đúng mớ rối như vậy.
Vậy nên mình làm rõ ngay từ đầu: mình là người đứng sau Thunderbit, và ở đây mình đang nói cụ thể về sản phẩm của bên mình so với MontFerret — dự án web scraping theo hướng khai báo tại montferret.dev. Không phải công cụ của Apple. Không phải của NOAA. Và thật ra, khi bỏ qua chuyện đặt tên lộn xộn này, cuộc so kè lại khá thú vị, vì Thunderbit và MontFerret thực ra không cạnh tranh trực tiếp cho cùng một nhóm khách hàng. Chúng giải quyết những bài toán khác nhau cho những người dùng khác nhau, và đó mới là câu chuyện thật sự ở đây.
Trả lời nhanh
Nếu bạn muốn bản tóm tắt ngắn trước khi đi sâu hơn: Thunderbit là một trình trích xuất web agentic được quản lý, thiết kế để biến bất kỳ trang nào thành dữ liệu có cấu trúc rất nhanh — thông qua tiện ích mở rộng trình duyệt, Web App, Open API, MCP Server và CLI. Còn MontFerret là một framework tự động hóa trình duyệt mã nguồn mở, nơi bạn viết truy vấn bằng FQL (Ferret Query Language) để trích xuất và tương tác với trang web.
Một lưu ý phân biệt nữa trước khi đi tiếp, vì mình đã thấy có người tốn cả 20 phút chỉ vì nhầm đoạn này: bài viết này chỉ nói về dự án MontFerret. Không phải mô hình thị giác Ferret của Apple, không phải công cụ trực quan hóa dữ liệu Ferret của NOAA, cũng không phải bất kỳ “Ferret” nào khác bạn có thể thấy trên Google. Chỉ là montferret.dev.
Nhìn nhanh
| Thunderbit | MontFerret | |
|---|---|---|
| Người dùng chính | Người dùng doanh nghiệp không kỹ thuật (sales, ops, GTM), và cả dev | Dev/kỹ sư |
| Thiết lập | Cài extension hoặc mở Web App | Cài Go/Ferret runtime, cấu hình cổng debug của Chrome |
| Giao diện | Bấm One Click Extract, agent lo phần còn lại | Viết truy vấn FQL dựa trên DOM/CDP |
| Ngôn ngữ truy vấn | Không có — tinh chỉnh trường dữ liệu bằng ngôn ngữ tự nhiên | FQL (lấy cảm hứng từ ArangoDB AQL) |
| Tự động hóa trình duyệt | Được quản lý trên các trang tương thích, được phép truy cập | Tự quản lý qua Chrome DevTools Protocol |
| Logic trích xuất | Phân tích trang theo hướng agentic | Selector, vòng lặp, bộ lọc do bạn tự viết |
| Triển khai | Browser extension / Web App / cloud | Tự host, bạn tự sở hữu hạ tầng |
| Lập lịch | Có hỗ trợ trên các gói đủ điều kiện | Bạn tự xây và tự quản lý |
| Bảo trì | Sản phẩm xử lý | Do team bạn chịu trách nhiệm |
| Giấy phép | SaaS trả phí (theo credit/gói) | Mã nguồn mở, miễn phí để chạy |
| Tổng chi phí | Phí thuê bao | Phần mềm “miễn phí”, nhưng tốn hạ tầng + thời gian kỹ sư |
Thunderbit là gì?
Mình đã giải thích Thunderbit cho rất nhiều người chưa từng scrape một website trong đời, và cách mình thường nói là thế này: bạn mở một trang mà bạn được phép truy cập, bấm một nút, và Thunderbit sẽ tự hiểu dữ liệu nào trên trang đó là quan trọng.
Luồng thực tế sẽ như sau: bạn bấm One Click Extract. Agent của bên mình phát hiện trang, đọc nội dung, phân tích cấu trúc, rồi tự gợi ý những trường có vẻ hữu ích — như tên sản phẩm, giá, thông tin liên hệ, hay bất cứ thứ gì trang đó đang cung cấp. Sau đó nó hiện nút Run Now. Bạn có thể bấm để chạy ngay, hoặc nếu bạn chỉ... đứng yên, nó sẽ tự chạy luôn. Chỉ vậy thôi. Một cú bấm có chủ đích, không cần dựng schema, không cần viết selector, không cần code.

Đó là quy trình của Thunderbit Chrome Extension, và cũng là điểm chạm đầu tiên mà đa số người dùng sẽ gặp. Nhưng đó không phải là bề mặt duy nhất. Nếu bạn muốn chỉnh quá trình trích xuất — ví dụ bảo nó lấy thêm một trường mà nó bỏ sót, hoặc định dạng lại dữ liệu — bạn có thể làm bằng hướng dẫn ngôn ngữ tự nhiên. Thunderbit cũng tự xử lý phân trang tương thích và làm giàu dữ liệu từ các trang con trên những trang được hỗ trợ, đồng thời cho phép xuất dữ liệu sang Excel, Google Sheets, Airtable hoặc Notion.
Với dev, phía dưới còn nhiều thứ hơn: Thunderbit Web App để trích xuất trên cloud, Open API để truy cập theo chương trình, MCP Server để nối với các AI agent như Claude hoặc Cursor, và CLI cho workflow trên terminal hoặc bằng coding agent. Vì vậy, dù extension là điểm vào không cần code, Thunderbit không chỉ là một công cụ trình duyệt đơn lẻ — mà là một nền tảng trích xuất đầy đủ với nhiều cách dùng khác nhau.
Một lưu ý rất thật ở đây, vì mình không muốn thổi phồng quá mức: “một cú bấm” chỉ áp dụng cho các trang tương thích mà bạn được phép truy cập. Nó không phải là lời hứa sẽ vượt qua mọi hệ thống chống bot, mọi lớp đăng nhập, hay mọi tình huống góc cạnh kỳ quặc mà website ném ra.
MontFerret là gì?
MontFerret là một câu chuyện hoàn toàn khác, và thật ra mình cũng khá tôn trọng thứ họ xây dựng. Đây là một hệ thống scraping web khai báo mã nguồn mở, nơi thay vì bấm nút, bạn viết truy vấn bằng FQL — Ferret Query Language — mà tài liệu của dự án mô tả là lấy cảm hứng từ AQL của ArangoDB.

Theo tài liệu chính thức của họ, hệ thống gồm vài thành phần lõi: FQL parser, compiler, runtime, standard library, user-function registry, HTML drivers chạy trong bộ nhớ, driver Chrome DevTools Protocol (CDP), và giao diện dòng lệnh. Nghe thì nhiều mảnh ghép, và đúng là vậy — nhưng đó cũng là chủ đích. MontFerret được tạo ra cho dev muốn kiểm soát chi tiết ở cấp code về cách một trang được scrape.
Với bất kỳ thứ gì liên quan đến nội dung render bằng JavaScript hoặc tương tác thật sự với trình duyệt, bạn cần Chrome hoặc Chromium đang chạy với cổng debug mở để MontFerret giao tiếp qua CDP. Khi thiết lập xong, truy vấn FQL của bạn có thể biểu đạt vòng lặp, bộ lọc, selector kiểu CSS, điều hướng trang, thao tác click/type, và giá trị trả về có cấu trúc — về cơ bản là một ngôn ngữ truy vấn bao quanh logic tự động hóa trình duyệt.
Cái giá phải trả cũng rất thực tế: MontFerret trừu tượng hóa khá nhiều phần plumbing cấp thấp của trình duyệt và mạng, nhưng bạn vẫn phải học FQL, tự viết và kiểm thử truy vấn, rồi tự vận hành runtime của mình. Ở đây không có khoảnh khắc “bấm một cái là nó tự hiểu trường dữ liệu”. Bạn phải nói rõ cho nó biết phải làm gì, mỗi lần.
Khác biệt cốt lõi: sản phẩm agentic được quản lý vs framework ngôn ngữ truy vấn
Thời gian để có kết quả có cấu trúc đầu tiên
Đây là chỗ khoảng cách lộ ra rõ nhất. Với Thunderbit, thời gian để có kết quả đầu tiên tính bằng giây: bấm One Click Extract, để agent phân tích trang, và tác vụ tự chạy; Run Now là tùy chọn. Còn với MontFerret, bạn phải viết truy vấn trước. Ngay cả một script FQL đơn giản cũng đòi hỏi hiểu selector, cú pháp truy vấn, và cách driver CDP hoạt động trên trang mục tiêu của bạn. Điều đó không phải là điểm yếu của MontFerret — chỉ là điểm khởi đầu hoàn toàn khác. Một bên là “để agent tự xử lý”, bên kia là “bạn nói chính xác cho nó phải làm gì”.

Tự động hóa trình duyệt và mức độ kiểm soát
Nhìn theo chiều ngược lại, MontFerret lại ăn điểm về độ chính xác. Nếu bạn cần một scraper làm điều gì đó rất cụ thể — điền form qua nhiều bước, logic điều kiện theo trạng thái trang, cơ chế retry tùy chỉnh — FQL cho bạn mức kiểm soát đó vì bạn tự viết logic. Cách tiếp cận agentic của Thunderbit rất hợp cho kiểu “trích xuất những gì hữu ích trên trang này”, nhưng không được thiết kế như một ngôn ngữ scripting trình duyệt đa mục đích. Nếu use case của bạn cần nhánh rẽ tùy biến xuyên suốt một workflow nhiều trang, đó là sân của MontFerret.
Trách nhiệm triển khai và bảo trì
Đây là phần nhiều người hay xem nhẹ. Với Thunderbit, khi một website đổi bố cục, quá trình trích xuất theo hướng agentic có thể thích nghi vì nó phân tích lại trang mỗi lần thay vì phụ thuộc vào selector hardcode — dù một lần nữa, điều này không có nghĩa là chắc chắn sẽ chạy được trên mọi lần redesign. Với MontFerret, nếu cấu trúc DOM của trang thay đổi, selector trong truy vấn FQL của bạn có thể bị gãy, và ai đó trong team phải phát hiện ra, gỡ lỗi, rồi sửa nó. Đó là trách nhiệm kỹ thuật kéo dài, và nó không bao giờ biến mất hoàn toàn với một scraper tự viết, dù là mã nguồn mở hay không.
Các tình huống thực tế
Trích xuất một lần cho người dùng doanh nghiệp
Giả sử một người làm sales ops cần danh sách công ty từ một site directory trước cuối ngày, và không có kỹ sư nào rảnh để hỗ trợ. Thunderbit được sinh ra cho đúng kiểu tình huống này: mở trang, bấm One Click Extract, xuất sang Google Sheets, rồi chuyển sang việc tiếp theo. Chẳng ai ngồi viết FQL cho một tác vụ chỉ làm một lần cả.
Tự động hóa trình duyệt lặp lại do dev xây dựng
Giờ giả sử một team kỹ thuật đang xây pipeline giám sát cần kiểm tra trang giá của đối thủ mỗi đêm, phân tích dữ liệu lồng nhau cụ thể, rồi đẩy vào hệ thống nội bộ với logic biến đổi tùy chỉnh. Đây là lúc cách tiếp cận truy vấn khai báo của MontFerret có thể phát huy — bạn viết FQL một lần, hiểu chính xác nó làm gì, và tự chịu trách nhiệm cho toàn bộ pipeline.

Workflow nhiều bước, thay đổi linh hoạt
Với những site cần luồng đăng nhập, điều hướng qua nhiều trang, và hành động có điều kiện dựa trên nội dung đang hiển thị, driver CDP của MontFerret cùng logic truy vấn rõ ràng sẽ cho bạn khả năng script chính xác như mong muốn. Thunderbit có thể xử lý phân trang tương thích và làm giàu từ trang con trên các trang được hỗ trợ và được phép truy cập, nhưng nó không được thiết kế như một công cụ scripting tổng quát cho các workflow trình duyệt nhiều bước tùy ý.
Tích hợp API hoặc AI agent
Nếu bạn đang xây một AI agent cần lấy dữ liệu web có cấu trúc như một phần của workflow lớn hơn, MCP Server của Thunderbit có thể cắm thẳng vào các công cụ như Claude Code hoặc Cursor. MontFerret cũng có thể được script vào một stack tùy chỉnh, nhưng bạn phải tự xây lớp tích hợp đó thay vì dùng connector có sẵn.
Độ tin cậy, tính linh hoạt và bảo trì
Mình nói thẳng ở đây vì đây là phần mà nhiều bài so sánh thường làm qua loa. Khả năng hiểu trang theo hướng agentic của Thunderbit thật sự hữu ích vì nó giảm gánh nặng bảo trì của selector hardcode — agent đọc lại cấu trúc trang thay vì phụ thuộc vào một đường CSS mong manh có thể gãy ngay khi website đổi markup. Nhưng “agentic” không có nghĩa là “ma thuật”. Nó hoạt động trên các trang tương thích, được phép truy cập, và chắc chắn có những site hay tình huống mà nó không thể lấy ra chính xác thứ bạn mong đợi.
Logic truy vấn/tự động hóa rõ ràng của MontFerret theo một nghĩa nào đó là dễ đoán hơn — bạn biết chính xác truy vấn làm gì vì chính bạn viết nó — nhưng sự dễ đoán đó phải trả giá bằng độ dễ vỡ khi trang nền thay đổi. Nếu site đổi một div thành section, selector của bạn có thể hỏng âm thầm, và bạn sẽ chỉ biết khi dữ liệu trả về rỗng hoặc sai.
Cả hai công cụ đều không đưa ra tuyên bố kiểu “vượt mọi cơ chế chống bot”, và mình sẽ rất dè chừng với bất kỳ công cụ nào dám nói như vậy. Cả hai đều cần hoạt động trong phạm vi những gì bạn được phép truy cập.
Giá, giấy phép và tổng chi phí
Đây là chỗ nhãn “miễn phí” của phần mềm mã nguồn mở rất dễ gây hiểu nhầm, và mình nghĩ cần nói rõ.

MontFerret là mã nguồn mở — hãy kiểm tra giấy phép hiện tại trên repository của họ trước khi quyết định dùng, vì về mặt kỹ thuật những thứ này có thể thay đổi — nhưng nhìn chung không có phí thuê bao để dùng framework lõi. Tuy nhiên, “miễn phí” ở đây chỉ bao gồm giấy phép phần mềm. Bạn vẫn phải tự cấp phát và host compute của mình, tự chạy và duy trì các instance Chrome/Chromium, quản lý proxy nếu scrape ở quy mô đủ lớn, thiết lập monitoring khi có lỗi, và trả công cho kỹ sư viết cũng như bảo trì các script FQL.
Thunderbit chạy theo cấu trúc gói trả phí — hãy xem trang Thunderbit Pricing hiện tại để biết con số chính xác vì các chi tiết này có thể thay đổi theo thời gian — nhưng chi phí đó đã bao gồm browser/cloud được quản lý, logic trích xuất agentic, xuất dữ liệu, và quyền truy cập API/MCP/CLI. Bạn không phải lo thêm hóa đơn hạ tầng riêng.
| Yếu tố chi phí | Thunderbit | MontFerret |
|---|---|---|
| Chi phí giấy phép | SaaS trả phí (theo credit/gói) | Miễn phí, mã nguồn mở |
| Chi phí hạ tầng | Đã bao gồm trong gói | Bạn tự provision/host server, Chrome, proxy |
| Thời gian kỹ thuật | Tối thiểu — không cần code | Liên tục — viết, test, debug FQL |
| Gánh nặng bảo trì | Sản phẩm xử lý | Team bạn tự chịu trách nhiệm |
Câu hỏi thật sự không phải là “cái nào rẻ hơn” — mà là “bạn muốn chi phí xuất hiện ở đâu”. Thunderbit thể hiện nó trên hóa đơn hàng tháng. MontFerret thể hiện nó trên lịch làm việc của team kỹ sư.
Ai nên chọn Thunderbit?
Nếu bạn là người trong team không kỹ thuật nhưng cần dữ liệu ngay và không có kỹ sư sẵn để hỗ trợ, Thunderbit là lựa chọn quá rõ ràng. Tương tự với bất kỳ ai cần trích xuất dữ liệu doanh nghiệp một lần hoặc theo lịch, nơi “không cần thiết lập” quan trọng hơn quyền kiểm soát chi tiết. Và nếu bạn đang xây workflow AI agent, muốn ghép scraping vào qua MCP hoặc CLI mà không cần tự viết lớp tích hợp, thì đó chính là sân nhà của Thunderbit.
Ai nên chọn MontFerret?
Nếu bạn là dev đang xây một pipeline scraping lặp lại cần chạy trong CI/CD, hoặc bạn cần hạ tầng tự host vì lý do lưu trữ dữ liệu hay tuân thủ, thì cách tiếp cận khai báo và khả năng kiểm soát toàn bộ hạ tầng của MontFerret rất hợp lý. Nó cũng hợp hơn nếu team của bạn có đủ bandwidth kỹ thuật để duy trì script FQL trong dài hạn và thật sự muốn mức kiểm soát đó đối với logic tự động hóa trình duyệt.
Team có thể dùng cả hai không?
Thật lòng là có, và mình không nghĩ đây là câu trả lời né tránh. Mình đã thấy những setup mà team kỹ thuật chạy các job FQL chuyên biệt, có thể lặp lại, cho những pipeline dữ liệu lõi cần logic chính xác, kiểm soát version; trong khi người dùng business trong cùng team lại dùng Thunderbit cho nghiên cứu ad hoc, export nhanh, hoặc trích xuất dữ liệu khám phá mà không đáng để viết script riêng. Chúng không thật sự là công cụ đối đầu trực tiếp — chúng nằm ở các lớp khác nhau của cùng một hoạt động dữ liệu lớn hơn. Mình sẽ không bịa ra chuyện có tích hợp chính thức giữa hai bên, vì không có, nhưng về mặt kiến trúc thì cách chia này hoàn toàn hợp lý.
Kết luận
Nếu phải gói gọn trong một câu: hãy chọn theo người làm việc và họ có bao nhiêu thời gian. Nếu bạn có một người không kỹ thuật cần một bảng dữ liệu trong 10 phút tới, Thunderbit thắng tuyệt đối — không có gì phải bàn. Nếu bạn có một kỹ sư muốn một pipeline scraping khai báo, tự host, kiểm soát bằng version, và không ngại tự chịu trách nhiệm bảo trì lâu dài, thì MontFerret là một lựa chọn mã nguồn mở rất đáng cân nhắc.
Đây không phải kiểu “một công cụ đè bẹp công cụ kia”, và nếu mình giả vờ như vậy thì sẽ không công bằng với bạn. Đây là chuyện “bạn thật sự đang giải quyết vấn đề nào”.
FAQ
Chúng ta đang nói về dự án Ferret nào?
Dự án được nhắc tới ở đây là MontFerret, framework web scraping theo hướng khai báo mã nguồn mở tại montferret.dev. Nó không liên quan đến mô hình thị giác Ferret của Apple, công cụ trực quan hóa dữ liệu Ferret của NOAA, hay bất kỳ dự án nào khác cùng tên “Ferret”.
MontFerret có phải mã nguồn mở không?
Có, MontFerret là một dự án mã nguồn mở. Không có phí cấp phép cho framework lõi, nhưng bạn vẫn nên kiểm tra repository hiện tại để biết điều khoản giấy phép chính xác trước khi dùng trong bối cảnh thương mại, vì chi phí hạ tầng và kỹ thuật vẫn phát sinh dù phần mềm là miễn phí.
Thunderbit có hỗ trợ tích hợp API và MCP không?
Có. Thunderbit cung cấp Open API để truy cập theo chương trình và MCP Server để nối các công cụ trích xuất của Thunderbit với AI agent host như Claude Code và Cursor, cùng với CLI cho workflow trên terminal.
Cái nào dễ dùng hơn cho người không biết lập trình?
Thunderbit, khỏi bàn. Tiện ích mở rộng trình duyệt của nó được thiết kế riêng để người dùng không kỹ thuật có thể trích xuất dữ liệu có cấu trúc chỉ bằng cách bấm One Click Extract — không cần ngôn ngữ truy vấn, không cần selector, không cần code. MontFerret đòi hỏi phải học FQL và thiết lập runtime, tức là ít nhất cũng cần kỹ năng phát triển cơ bản.
Công cụ nào cho khả năng kiểm soát tự động hóa trình duyệt rõ ràng hơn?
MontFerret. Vì bạn viết truy vấn FQL trực tiếp trên DOM thông qua Chrome DevTools Protocol, nên bạn có khả năng kiểm soát chính xác ở cấp code đối với điều hướng, tương tác và logic điều kiện. Cách tiếp cận agentic của Thunderbit tối ưu cho trích xuất có cấu trúc nhanh trên các trang tương thích, thay vì tự động hóa script chi tiết đến từng bước.


