Would be easier to answer if Cisco hadn't broken the Meraki Dashboard API reference document.... 🤔
From what I remember the Get Organisation Uplink Status Endpoint (or something similar) lists all the uplinks on the appliance for the Network, including if it is a Cellular network or not. You can use this Cellular designation to determine if there is a USB modem connected. The only caveat is you'll need to do some additional checks on any MX67C or MX68CW appliances that you have (but if you do have any I'd wonder why you have a USB modem in them). Then you just use the inverse to determine if there isn't a USB modem.
So I'd use something like:
- Iterate through the networks using a loop
- Test each network to confirm it has a MX present
- Retrieve the appliance uplink statuses
- Perform any required checks against MX67C/MX68CW as mentioned
- Record the appliance if there is no 'Cellular' uplink
I think that should get you going... hopefully someone may be able to add to it, if I'm off the mark, or if they can think of a better way to achieve this.