I am trying to find leads by their phone number using Marketo REST API (Get Leads by Filter Type) but Phone number is not supported. Why is that and is there a way to solve this? Thank you.
Only certain system fields are allowed. With Phone, perhaps it's disallowed because of assumptions about cardinality (when every employee at the same company gets the main number, for example) and/or formatting (if you don't pass the value through a reformatting webhook, et al., there's no way to predict formatting of the same underlying #).
But regardless of the reason, you can't use it.
What you can use is a custom String that you keep in sync with the system Phone using a Smart Campaign.
As mentioned above, you can still make it work as you can filter by any custom field. Just create a custom field, copy the data from the system Phone field into your custom field and you'll be able to use that field in your requests