In a few rare case in debian (104 source packages according to udd), source and binary packages don't share the same version. In a even smaller subset of those case (22 source packages), the binary and source package are the same. Finally, out of those 22 packages, some of them have a higher binary version than the source one.
For those specific cases, the request we send to madison will return the binary packages and debexpo will wrongly reject the upload.
By explicitly asking madison to return results only matching source packages, we prevent such case to occur.
I have tested locally this change but I did not add a test (change for an external api).