El número de seguidores es la cantidad de cuentas suscritas a las actualizaciones de una cuenta. Es el campo más pedido de cualquier API de datos sociales y el que se devuelve mal más a menudo.
No porque sea difícil de encontrar. Porque tiene vecinos.
Los vecinos
Los datos de casi cualquier plataforma traen varios contadores en el mismo objeto, con nombres que se diferencian en un carácter:
| Campo | Cuenta |
|---|---|
followers_count |
Personas que siguen a esta cuenta |
followings_count |
Cuentas a las que esta sigue |
collectionFollowingCount |
Seguidores de una colección, no de la cuenta |
subscriberCount |
La misma idea, con el vocabulario de otra plataforma |
En una red, un objeto de perfil lleva siete contadores y uno de ellos es el correcto. El vecino peligroso es followings_count — a una sola letra de followers_count — y en algunas cuentas muy grandes vale cero. Léelo y el fallo se presenta como "esta cuenta no tiene seguidores", no como un error. Eso es un fallo silencioso, y es la razón de que leamos por nombre exacto de campo y nunca por coincidencia con un sufijo Count.
Por qué el ancla es obligatoria
Algunas plataformas no devuelven 404 para un handle que no existe. Una devuelve HTTP 200 con una página de cuenta no encontrada, de unos 80 KB. Sin un ancla — un campo que tiene que estar presente para que el documento sea un perfil — un parser extraerá números de esa página y te entregará el perfil de una cuenta que nunca estuvo ahí.
Cuándo null es la respuesta correcta
No todas las plataformas lo exponen. El perfil público de una red grande no publica ni el número de seguidos ni el de publicaciones, así que los dos vuelven null en nuestra ruta y no cero. Un cero afirmaría que la cuenta no sigue a nadie.
La regla general, y vale para todos los campos de un esquema unificado: null significa que no pudimos obtenerlo, 0 significa que medimos cero, y confundir los dos es la forma en que un panel informa de un desplome que nunca ocurrió.
Contarlo a lo largo del tiempo
Un número de seguidores suelto es un hecho sobre un instante. Lo que casi todas las preguntas necesitan de verdad es el cambio — que exige que alguien haya guardado el número cada hora, antes de que tú preguntaras. Eso es lo que hace el archivo, y la razón de que una API solo en vivo no pueda responderlo por rápido que conteste.