Spyfu is good to spy competitor’s Google Ads campaign. But it is a little bit worse to spy in search.
It seems Serpstat is good but it isn’t accurate. There is no accirate tool for this purpose. I recommend you to use semantics analysis of competitor’s content (text, alt tags, video descriptions). In many cases it is enough to analyse urls (people think that makes sense to add keywords in URLs), headers (h1, h2, h3) and first text section on a page.