epsg.io is a modern webservice, which is "Powered by EPSG database 9.4", the current registry, but also has other CRS definitions. You can browse the source code, including their SQLite database gml.sqlite, which contains the URN identifier (e.g. urn:ogc:def:crs:EPSG::4326
), and the source xml used to define each CRS.
Here is my tally query for the different CRS types:
SELECT substr("xml", 6, instr("xml", ' ') - 6) AS crs_type,
deprecated, count(*) AS count
FROM gml
WHERE id LIKE '%crs%'
GROUP BY crs_type, deprecated
ORDER BY crs_type, deprecated;
crs_type deprecated count
----------- ---------- ----------
CompoundCRS false 269
CompoundCRS true 7
Engineering false 20
Engineering true 2
GeodeticCRS false 778
GeodeticCRS true 400
ProjectedCR false 4666
ProjectedCR true 350
VerticalCRS false 207
VerticalCRS true 1
There are extra codes from PROJ, including 474 from esri.extra, and 21 in other.extra. So I guess the full tally of CRS definitions at http://epsg.io is 7195.