The SPF record lookup limit caps how many DNS lookups a receiver makes while checking your SPF record, and the count runs through every record your includes point at. Go over it and the check ends in permerror, so SPF fails for every message from the domain. Type your domain above to see the count the way a receiver makes it.
Only the domain is sent, to Cloudflare's public DNS resolver, and nothing is stored.
What counts toward the limit
The include, a, mx, ptr and exists terms and the redirect modifier each cost a lookup, wherever they sit in the chain. The all, ip4 and ip6 terms cost nothing, so IP ranges never move the count.
Void lookups, the ones that come back empty, have a smaller limit of their own. An include for a service you left is the usual cause. Both limits come from RFC 7208, section 4.6.4.
In the result, read the lookups inside each include. One sending service that splits its servers across several records can be most of your count.
Ways back under the limit
Delete includes for services you stopped using, and check each service's setup page for includes it no longer asks for. Replace a or mx terms for your own servers with ip4 or ip6.
Move a sending service to a subdomain as its envelope sender. That subdomain has its own record and its own count, and under DMARC's relaxed alignment it still lines up with your From address.
Moving includes into a second record of your own does not help, because the count follows the include. Flattening, copying a service's IP addresses into your record, works but goes stale when the service changes servers, so leave it for last.
Then check the domain again, and send a test message through the email header analyzer. If you send from several domains, check each one.
