At the time of writing there are still no traces of people reached in the API specification, however on paper there is a workaround.
The computation of people reached is described on Meta and Meta Stack Exchange and also implemented in the public prototype #1 SEDE query. It can be noted that all the required components: question views, asked questions, answered question, question answers, scores and answer acceptance – all are accessible via API endpoints. So it seems possible to retrieve all the necessary data and reproduce the calculations. A sample algorithm:
Fetch questions asked by the user /user/{user_id}/questions
For each question:
Save question_id and view_count
Fetch answers provided by the user /user/{user_id}/answers
For each answer:
Skip if the question answered is in the questions asked by the user
Skip if the answer is not accepted and doesn’t have positive score
Save answered question_id and answer score
Mark useful if the answer is accepted or
the score is equal or above the threshold (5)
Fetch answered questions /questions/{ids}
For each question:
Save view_count and answer_count
Mark useful if answer_count is equal or below the threshold (3)
Add to the following inspection if question is not yet marked as useful
Fetch answers for questions marked for inspection /questions/{ids}/answers
For each answer:
Skip if the answer has zero or negative score
Add answer score to the answered question total score
Keep track of the answered question top scores
For each inspected question:
Mark useful if answer score is in the top scores
Mark useful if answer score percent is equal or
above threshold (20%) from total score
Accumulate view_count of asked questions and user answered questions
And here is a sample python implementation: StackAPI-Impact.
Though practical limitations make this approach have a somewhat narrow application scope. Retrieving the large collections of user’s answers or questions ends up with heavy throttling, regardless of API key usage. That is why the calculation of people reached by e.g. John Skeet takes tens of minutes.
As a conclusion, there should be a feature request for the number of people reached available in API.
But the problem is, fetching the entire user page is bulky and not the optimal solution.
and unreliable for longevity. – SeamanUser
object to make sure none of them lined up with theImpact
field? – SeamanUser
object. No field for impact. – Melloney