Skip to main content
Question

How do I get lottery results for multiple games at once using a webhook?

  • June 28, 2026
  • 2 replies
  • 0 views

Hi everyone, hoping someone can point me in the right direction because I am a bit lost! Hoping this is the correct forum. If not please remove or move.

 

I recently signed up for a webhook push service from a site called ResultsZA (resultsza.co.za) that sends lottery draw results automatically to my URL the moment results are published. It covers loads of games including UK 49s, EuroMillions, SA Lotto, US Powerball, Mega Millions, and more.

 

The way it works is it sends a separate HTTP POST to my endpoint for each game, so when UK 49s Teatime draws I get one payload, and when EuroMillions draws I get a different one later. The JSON body has a game field that tells me which game it is, and the data looks something like this:

 

{
  "event": "result.published",
  "game": "euromillions",
  "data": {
    "draw_date": "2026-06-25",
    "winning_numbers": "3, 33, 36, 45, 46",
    "lucky_star_1": 5,
    "lucky_star_2": 6
  }
}

 

My question is, can I use a single Zapier webhook catch URL to receive all of these different game payloads, and then use a Filter or Router step to send each game down a different path? Or do I need a separate Zap for each game?

 

Also the docs mention I need to verify an HMAC signature in the headers, is there any way to do that in Zapier or do I need a separate tool for that part?

Any help is appreciated and thank you.

 

2 replies

  • New
  • June 28, 2026

Two separate questions here, taking them in turn.

 

1) Single URL for all games: yes. Use one Zap with a Catch Hook trigger (Webhooks by Zapier) and point the ResultsZA push URL at that single Catch Hook URL. Every game POST lands in the same Zap. Then use Paths, or a Filter, on the game field to branch per game and map the nested values like data__winning_numbers into each path. You do not need a separate Zap per game.

 

2) HMAC verification: there is no native verify-signature trigger, but a Code by Zapier step right after the trigger handles it. Recompute the HMAC from the body and your shared secret, compare it to the signature header, then add a Filter that only continues when they match. One catch: the HMAC must be computed over the exact raw body, so use Catch Raw Hook instead of the normal Catch Hook. Otherwise Zapier parses the JSON first and your recomputed signature never matches.

 

So the shape is: one Catch Raw Hook, a Code step to validate the signature, a Filter to drop failures, then Paths on the game field. If you ever want all games together, write each result into a Zapier Table keyed by game and read it back when needed.


  • Author
  • New
  • June 28, 2026

This is brilliant, thank you! The Catch Raw Hook tip is exactly what I was missing.

 

Quick follow up on the Paths step: the game field in the ResultsZA payload can have values like uk49s teatime or us powerball with spaces in them. Will Zapier handle those fine as path conditions, or do I need to clean or transform the field first before branching on it?

 

And just confirming my understanding of the Table approach: I write each incoming push to a row keyed on game and draw_date, then a separate Zap reads from that table whenever I need results across multiple games at once? Feels like a clean little results store without needing an external database.

 

Thanks again!