You only get charged when a provider actually returns data in Clay's waterfall setup. If Apollo hits first but returns empty, you don't get charged for that attempt. Only when Prospeo or whoever finds the number do you get dinged for credits.
This is actually one of Clay's better billing practices compared to some enrichment tools that charge per API call regardless of results. The waterfall stops at the first successful match, so you're not burning through multiple provider credits for the same data point.
That said, watch out for partial matches. Some providers might return a landline when you're hunting for mobiles, or vice versa. Clay will consider that a "successful" enrichment and charge you, even if it's not the phone type you wanted. You'll need to filter those out in your workflow logic.
I've seen teams get surprised by this when they set up waterfalls without proper phone type validation. You think you're getting mobile numbers but end up with a mix of landlines and mobiles, all charged as successful enrichments.
Pro tip: Test your waterfall with a small batch first and check the phone number formats you're getting back. Each provider has different strengths - Prospeo tends to be solid for mobile numbers in the US, while others might be better for international or specific industries.
The credit usage is transparent in Clay's logs, so you can always audit which provider actually delivered your data.