ChatGPT y Crunchbase API: Cómo Crear un Plugin desde Cero
Descubre cómo crear plugins para ChatGPT en este tutorial completo y paso a paso. Aprende a ampliar las capacidades de ChatGPT utilizando la Crunchbase Basic APIs como servicio de datos.
Un plugin para ChatGPT es esencialmente una extensión que permite al modelo interactuar con APIs, bases de datos y otros servicios de terceros. Esto permite personalizar y mejorar las respuestas de ChatGPT, permitiéndole proporcionar información en tiempo real y mucho más precisa.
Si quieres ir directamente al resultado, te dejo el repo en GitHub.
Objetivo del Tutorial
El objetivo principal es guiarte en la creación de un plugin que busque información de empresas en la base de datos de Crunchbase.
Utilizaremos:
- ChatGPT (GPT-4) para la generación de código.
- CodeSandbox para desplegar nuestra API de forma rápida.
- Crunchbase Basic API para los datos de empresas.
Configuración Inicial
- Crunchbase API Key: Regístrate en Crunchbase y genera tu API_KEY desde “Account Settings” > “Integrations”.
- OpenAI Developer: Asegúrate de tener acceso a las funciones de desarrollador de plugins en ChatGPT.

Paso 1: Crear tu API con FastAPI
Un plugin consta de tres elementos: tu API, el manifiest (ai-plugin.json) y la especificación OpenAPI (openapi.json).
Usaremos el siguiente prompt para pedirle a ChatGPT que nos genere el esqueleto de la API:
Write a company search and lookup application using FastAPI that lets the user to search for companies...
- Use uvicorn to run it.
- Serve manifest.json at /.well-known/ai-plugin.json.
- Use Crunchbase Search Organizations (POST) endpoint.
Aquí tienes el código base que utilizaremos:
from fastapi import FastAPI, HTTPException
from fastapi.responses import JSONResponse
from fastapi.openapi.utils import get_openapi
from pydantic import BaseModel
import requests
import json
import os
app = FastAPI()
class Company(BaseModel):
name: str
@app.post("/search")
async def search_company(company: Company):
user_key = os.getenv('CRUNCHBASE_API_KEY')
url = f"https://api.crunchbase.com/api/v4/searches/organizations?user_key={user_key}"
data = {
"field_ids": ["name", "short_description", "website_url", "image_url"],
"query": [
{
"type": "predicate",
"field_id": "identifier",
"operator_id": "contains",
"values": [company.name]
}
],
"limit": 5
}
response = requests.post(url, data=json.dumps(data))
if response.status_code == 200:
response_data = response.json()
extracted_data = []
for entity in response_data['entities']:
extracted_entity = {
'company_name': entity['properties'].get('name', None),
'description': entity['properties'].get('short_description', None),
'website_url': entity['properties'].get('website_url', None),
'image_url': entity['properties'].get('image_url', None),
}
extracted_data.append(extracted_entity)
return extracted_data
else:
raise HTTPException(status_code=400, detail="Unable to fetch data")
Paso 2: Despliegue en CodeSandbox
CodeSandbox permite desplegar entornos de Python rápidamente. Solo necesitas:
- Crear un Sandbox de Python.
- Añadir
fastapi,uvicornyrequestsalrequirements.txt. - Configurar la variable de entorno
CRUNCHBASE_API_KEY.

Paso 3: El manifiesto y la instalación
El fichero manifest.json es crucial para que OpenAI identifique tu plugin:
{
"schema_version": "v1",
"name_for_human": "Crunchbase Plugin",
"name_for_model": "crunchbase_plugin",
"description_for_model": "Plugin for company information search. You can search for companies by name...",
"auth": { "type": "none" },
"api": { "type": "openapi", "url": "/openai.json" },
"logo_url": "https://diegoromero.es/logo.png"
}
Secuencia de instalación en ChatGPT
Una vez que tu API esté corriendo en CodeSandbox, ve al Plugin Store de ChatGPT y elige “Install unverified plugin”. Introduce la URL de tu sandbox y sigue los pasos:
- Seleccionar Plugins.
- Instalar desde URL.
- Verificar manifest y especificación.
- ¡Listo para usar!
Consideraciones Finales
Este ejercicio muestra cómo ampliar las capacidades de la IA conectándola con datos reales. Además, con librerías como LangChain o LlamaIndex, estos plugins se convierten en herramientas valiosas para el desarrollo de agentes autónomos.
A nivel personal, estas herramientas eliminan las barreras técnicas permitiendo que nos centremos en la innovación y el valor de negocio.
powered by Crunchbase
