I find snap much more useful in the context of an API endpoint. Yesod feels more fleshed out for building end-to-end applications.
To reinforce this, if you’re going to be processing form-encoded POST bodies from human input as opposed to exposing a JSON/XML API then Yesod is going to be more compelling. Yesod Forms are pretty nice for human-facing form processing and draws a good line between what’s applicative vs. monadic. Other solutions are hard to understand, not typesafe, or not powerful enough.
You don’t need Yesod if it’s just an API though. Just be aware of your needs.
Myself? I’d probably use a stripped down Yesod app regardless just in case I needed to expose an admin dashboard. Others might prefer a minimal WAI, “Simple”1, or Snap app.