Maxmind (and others probably) regularly publish lists of IP blocks mapped to the owning ASN.
Basically geoip but instead of mapping to geographical regions, maps it to ASN. If you want to roll your own, you can probably start from a public route reflector and go from there.