This is sort of a weird two part answer due to how we’re set up –
RE:Openstates specifically – if the state provides an official source for them, then we scrape them, otherwise they’re out of scope for the scrapers themselves. That said, this year we’ve moved from “just serve the output of the scrapers” to “use the output of the scrapers as a base for openstates-people, and then import that, including any user additions”. We’re hoping interested parties will start adding useful data like social media to openstates-people.
If someone wanted to take something like @dsherman’s code and apply it to the openstates-people data as PR’s, we’d gladly take it, then serve that in the API. Ideally we’d have one more script that checks that the id’s are still valid after being generated (i’ve found google’s api sometimes serves deleted profiles).
We’re at a bit of a transition period – we considered dropping member data completely because it’s so hard to keep accurate with our resources, but the demand is obviously really high. We’re hoping openstates-people takes off as a community project (it’s off to a great start!), especially once we have time to make the tooling around it better, once legislative sessions cool down.