I've built a custom engine to achieve that (Elixir/Phoenix). It uses a simplified version of the Aho–Corasick algorithm
https://en.wikipedia.org/wiki/Aho%E2%80%93Corasick_algorithm to match all mentions of subscribed keywords/URLs. I use the same engine for SaaSHub, too.