
Osintgram es una herramienta OSINT en Instagram. Ofrece un shell interactivo para realizar análisis en la cuenta de Instagram de cualquier usuario por su apodo.
Apúntalo a una cuenta de Instagram y descubre quién está detrás de ella. Osintgram recopila, cruza y presenta todo lo que un perfil público revela — seguidores, pies de foto, hashtags, ubicaciones geolocalizadas, hábitos de publicación, datos de contacto públicos — en una interfaz web que ejecutas en tu propia máquina.
Pregunta en lenguaje natural y un modelo de IA local determina qué búsquedas ejecutar. O no lo hagas: elige los comandos tú mismo y prescinde del modelo por completo.
Responde preguntas, no solo comandos. "¿Cuántos seguidores tienen y qué hashtags usan más?" ejecuta tres búsquedas y devuelve una respuesta escrita — y los resultados sin procesar debajo, para que puedas verificar el trabajo en lugar de confiar en el texto.
Nada sale de tu máquina excepto las propias búsquedas. La IA se ejecuta
localmente a través de Ollama: sin clave de OpenAI, sin suscripción, sin
que tus prompts se envíen a nadie. La interfaz se sirve desde 127.0.0.1.
Te dice cuánto costará una búsqueda antes de ejecutarla. Los datos de Instagram no son gratis, y la mayoría de las herramientas te dejan descubrirlo de la forma cara. Esta calcula el precio de tu selección por adelantado, muestra tu crédito restante, almacena en caché cada solicitud para que nunca pagues dos veces por la misma búsqueda, y te permite limitar o detener una ejecución — del lado del servidor, no solo en el navegador.
Muestra lo que encontró, como es debido. Miniaturas de publicaciones en una cuadrícula filtrable, ubicaciones geolocalizadas en un mapa, un mapa de calor de día de la semana × hora de cuándo publica alguien, comparación entre dos cuentas. No un muro de JSON — aunque el JSON está a un clic de distancia en cada tarjeta.
Puedes entregar el resultado a otra persona. Un botón convierte una búsqueda finalizada en un informe HTML independiente que se abre en cualquier navegador, sin servidor y sin Osintgram.
Modo IA — describe lo que quieres. Un modelo local elige los comandos, los ejecuta y resume. Solo puede elegir de la misma lista de abajo; no puede inventar búsquedas ni fabricar datos.
Modo base — sin modelo, sin necesidad de Ollama. Los 28 comandos, uno por línea, agrupados y con búsqueda. Marca lo que quieras, establece los parámetros, ejecútalos en orden.
También puedes dejar el nombre de usuario vacío en el modo IA y simplemente preguntar sobre un hashtag o un lugar — esas búsquedas no pertenecen a ninguna cuenta.
Las historias, destacados y fotos de perfil se devuelven como enlaces directos al CDN — y cualquier tarjeta con contenido multimedia ofrece un zip con los originales en un clic.
pip install -r requirements.txt
uvicorn src.web.app:app --host 127.0.0.1 --port 8000 --reload # or: make run
Abre http://127.0.0.1:8000.
Necesitas un backend de datos. La página se abre en un panel donde puedes pegar una clave de HikerAPI directamente — se verifica antes de aceptarla, y puede guardarse para la próxima vez. (Un inicio de sesión gratuito de instagrapi también funciona, usando una cuenta de Instagram propia — consulta la guía para conocer las ventajas y desventajas.)
Para el modo IA, instala Ollama y descarga un modelo capaz de llamar a herramientas:
ollama pull llama3.1:8b # ~4.7 GB, the default
El modo base funciona sin él.
¿Prefieres contenedores?
docker compose up --build # or: make docker
La misma dirección, el mismo comportamiento — publicado solo en 127.0.0.1. Tu clave, caché
y búsquedas guardadas permanecen en el host en config/, cache/ y dossier/,
nunca dentro de la imagen. El modo IA accede a un Ollama que se ejecuta en tu host.
$${\color{red}Warning:}$$ Esto se ejecuta en
127.0.0.1sin autenticación. Está diseñado para ejecutarse en tu propia máquina — no lo expongas más allá de localhost sin poner antes una capa de autenticación delante.
doc/web-ui.mdConfiguración para ambos backends, cada comando con sus parámetros y coste, cómo mantener bajo el gasto, exportar y compartir resultados, todas las opciones de configuración, y solución de problemas.
SOLO CON FINES EDUCATIVOS. Los contribuyentes no asumen ninguna responsabilidad por el uso de esta herramienta.
config/credentials.ini — las claves de API y las credenciales de Instagram
viven ahí. Está ignorado por git; mantenlo así. Si alguna vez se ha subido una clave,
rótala: eliminar el archivo no lo quita del historial.pip install -r requirements-dev.txt
python -m pytest
La suite de pruebas se ejecuta completamente contra fixtures sintéticos — sin clave de API, sin cuota, sin red. También comprueba que la documentación no se ha desviado del código.
Las solicitudes de funciones y los pull requests son bienvenidos — abre un issue. ¿Encontraste un problema de seguridad? Por favor, repórtalo en privado en su lugar: consulta SECURITY.md.
Osintgram está escrito por Giuseppe Criscione (Datalux). La versión 2.0 lo reconstruye en torno a una interfaz web y una capa de servicio reutilizable, y añade el modo IA, los controles de coste y los análisis más recientes — consulta el changelog.
Debe mucho a todos los que han contribuido desde la primera versión:
Los datos de Instagram provienen de HikerAPI o instagrapi. Geocodificación por Nominatim / OpenStreetMap. Mapas por Leaflet. Modelos locales vía Ollama.
Publicado bajo la licencia GPL-3.0.
Instagram es una marca registrada de Meta Platforms, Inc. Este proyecto no está afiliado a Meta, ni respaldado ni aprobado por Meta.
| Perfil | Biografía y cada enlace en ella, recuentos de seguidores/seguidos/publicaciones, categoría, correo electrónico público, teléfono y dirección comercial hasta las coordenadas, id de Facebook vinculado — además del propio Acerca de esta cuenta de Instagram: país de registro, fecha de creación, cuántas veces cambió el nombre de usuario |
| Red | Seguidores y seguidos, cuentas que Instagram sugiere como relacionadas, quién los etiquetó, a quién etiquetaron, quién comenta más — y conexiones mutuas entre dos cuentas |
| Contenido | Hashtags clasificados por uso, pies de foto, cada comentario, estadísticas de me gusta y comentarios, desglose de fotos/vídeos/carruseles con visualizaciones y colaboraciones pagadas, mapa de calor de horas de publicación, ubicaciones geolocalizadas en un mapa, texto alternativo de las fotos |
| Contactos | Correos electrónicos y números de teléfono públicos entre los seguidores o seguidos de un objetivo |
| Sin objetivo necesario | Publicaciones publicadas con un hashtag (destacadas o recientes) o desde un lugar, y quién las publicó |