Tutoriales
Bluesky profile en curl
Una llamada autenticada a /api/v1/bluesky/profile?handle=bsky.app, la respuesta que devolvió, y la línea que saca un campo de ella.
Lo que necesitas
curl viene con macOS y con la mayoría de las distribuciones de Linux, y con Windows 10 y posteriores. No hay nada que instalar.
La llamada
curl -H "Authorization: Bearer $HH_KEY" \
"https://honesthook.com/api/v1/bluesky/profile?handle=bsky.app"
Lo que volvió
{
"success": true,
"platform": "bluesky",
"endpoint": "bluesky/profile",
"data": {
"author": {
"id": "did:plc:z72i7hdynmk6r22z27h6tvur",
"handle": "bsky.app",
"name": "Bluesky",
"followers": 35065417,
"following": 15,
"posts_count": 864,
"verified": false,
"is_private": null
}
},
"error": null,
"cached": false
}
Respuesta registrada, capturada el 27 Sep 2026. Una llamada en vivo devuelve el valor del momento en que preguntas, no este.
Todos los campos de esa captura
| En curl | Tipo en esta captura |
|---|
.success | boolean |
.platform | string |
.endpoint | string |
.data.author.id | string |
.data.author.handle | string |
.data.author.name | string |
.data.author.followers | number |
.data.author.following | number |
.data.author.posts_count | number |
.data.author.verified | boolean |
.data.author.is_private | null |
.error | null |
.cached | boolean |
Un campo que no podemos leer vuelve null, nunca 0. Un cero sería una afirmación sobre la cuenta; null es un hecho sobre nuestra recolección.
Leer un campo
curl -H "Authorization: Bearer $HH_KEY" \
"https://honesthook.com/api/v1/bluesky/profile?handle=bsky.app" \
| jq -r '.data.author.followers'
jq es una herramienta aparte — no viene con curl. Sin ella el comando de arriba imprime el envoltorio completo, que es el bloque de abajo.
El AT Protocol de Bluesky es público y está documentado, y esta es la lectura más barata del conjunto. Igual que con GitHub, la parte interesante no es el acceso: es la identidad.
El handle no es la identidad
En Bluesky un handle es un nombre de dominio apuntado a una cuenta. Se puede cambiar, liberar, y otra persona puede quedárselo después. Lo que no se mueve es el DID, y es eso lo que este endpoint devuelve como id.
Si vas a guardar cuentas de Bluesky, guarda el DID. Una tabla indexada por handles seguirá calladamente a la cuenta equivocada la primera vez que alguien se cambie el nombre, y nada dará error.
Qué estás llamando
Un GET autenticado a nuestro endpoint, con tu clave en una cabecera Authorization. El handle del ejemplo es el que produjo la respuesta registrada más abajo, y la respuesta lleva su DID.
Lo que vuelve es la misma forma de respuesta que en cualquier otra plataforma de aquí, así que el cliente que escribiste para una lee también esta.
Antes de copiar el bloque
Guarda la clave en una variable de entorno — los tres ejemplos leen HH_KEY.
Luego lee la lista de campos. Bluesky no tiene perfiles privados en absoluto, así que ese campo viene null y no false: ausente no es lo mismo que negativo, y esta respuesta mantiene las dos cosas separadas.
← Tutoriales · bluesky-api · Precios