Empresas
Gestione empresas en su espacio de trabajo de graph8: sus propios datos de CRM.
Las empresas se incorporan a su espacio de trabajo de forma automática cuando los contactos se guardan, enriquecen o importan: no es necesario crearlas manualmente. Cada contacto está vinculado a una empresa, y los registros de empresa se crean o actualizan a medida que ingresan los contactos. Estos endpoints ofrecen acceso completo de lectura y escritura sin costo en créditos.
Listar empresas
GET /companies
Devuelve una lista paginada de empresas.
Parámetros de consulta
| Parámetro | Tipo | Predeterminado | Descripción |
|---|---|---|---|
page | integer | 1 | Número de página (índice desde 1) |
limit | integer | 50 | Elementos por página (1-200) |
domain | string | — | Filtrar por dominio (coincidencia exacta) |
industry | string | — | Filtrar por industria (coincidencia parcial, sin distinción de mayúsculas) |
name | string | — | Filtrar por nombre de empresa (coincidencia parcial, sin distinción de mayúsculas) |
employee_count_min | integer | — | Número mínimo de empleados |
employee_count_max | integer | — | Número máximo de empleados |
country | string | — | Filtrar por país (coincidencia exacta) |
state | string | — | Filtrar por estado (coincidencia exacta) |
city | string | — | Filtrar por ciudad (coincidencia parcial, sin distinción de mayúsculas) |
description | string | — | Filtrar por descripción de empresa (coincidencia parcial, sin distinción de mayúsculas) |
revenue_min | integer | — | Ingresos anuales mínimos |
revenue_max | integer | — | Ingresos anuales máximos |
founded_year_min | integer | — | Año de fundación mínimo |
founded_year_max | integer | — | Año de fundación máximo |
linkedin_followers_min | integer | — | Mínimo de seguidores en LinkedIn |
linkedin_followers_max | integer | — | Máximo de seguidores en LinkedIn |
Todos los filtros son opcionales y pueden combinarse. Cuando se proporcionan varios filtros, los resultados deben cumplirlos todos (lógica AND).
Ejemplo
# Filter by industrycurl "https://be.graph8.com/api/v1/companies?industry=Technology&limit=10" \ -H "Authorization: Bearer $API_KEY"
# Search by company name with employee count rangecurl "https://be.graph8.com/api/v1/companies?name=acme&employee_count_min=100&employee_count_max=1000" \ -H "Authorization: Bearer $API_KEY"
# Search by company description (useful for ICP identification)curl "https://be.graph8.com/api/v1/companies?description=enterprise%20software" \ -H "Authorization: Bearer $API_KEY"
# Filter by revenue range and founding yearcurl "https://be.graph8.com/api/v1/companies?revenue_min=1000000&revenue_max=50000000&founded_year_min=2015" \ -H "Authorization: Bearer $API_KEY"
# Filter by LinkedIn followers (social presence)curl "https://be.graph8.com/api/v1/companies?linkedin_followers_min=1000&industry=SaaS" \ -H "Authorization: Bearer $API_KEY"# Filter by industryresponse = requests.get( f"{BASE_URL}/companies", headers=HEADERS, params={"industry": "Technology", "limit": 10})companies = response.json()
# Search by name with employee count rangeresponse = requests.get( f"{BASE_URL}/companies", headers=HEADERS, params={"name": "acme", "employee_count_min": 100, "employee_count_max": 1000})
# Filter by revenue range and founding yearresponse = requests.get( f"{BASE_URL}/companies", headers=HEADERS, params={"revenue_min": 1000000, "revenue_max": 50000000, "founded_year_min": 2015})// Filter by industryconst response = await fetch( `${BASE_URL}/companies?industry=Technology&limit=10`, { headers: { Authorization: `Bearer ${API_KEY}` } });const companies = await response.json();
// Search by name with employee count rangeconst filtered = await fetch( `${BASE_URL}/companies?name=acme&employee_count_min=100&employee_count_max=1000`, { headers: { Authorization: `Bearer ${API_KEY}` } });
// Filter by revenue range and founding yearconst revenueFiltered = await fetch( `${BASE_URL}/companies?revenue_min=1000000&revenue_max=50000000&founded_year_min=2015`, { headers: { Authorization: `Bearer ${API_KEY}` } });Respuesta
{ "data": [ { "id": 42, "name": "Acme Inc", "description": "Enterprise software company specializing in cloud solutions", "domain": "acme.com", "website": "https://acme.com", "industry": "Technology", "employee_count": "500", "revenue": "25000000", "founded_year": 2015, "city": "San Francisco", "state": "CA", "country": "US", "linkedin_url": "https://linkedin.com/company/acme", "linkedin_followers": "12500", "logo_url": "https://logo.clearbit.com/acme.com" } ], "pagination": { "page": 1, "limit": 10, "total": 87, "has_next": true }}Obtener empresa
GET /companies/{company_id}
Devuelve información detallada sobre una empresa específica.
Parámetros de ruta
| Parámetro | Tipo | Descripción |
|---|---|---|
company_id | integer | ID de empresa |
Ejemplo
curl "https://be.graph8.com/api/v1/companies/42" \ -H "Authorization: Bearer $API_KEY"response = requests.get(f"{BASE_URL}/companies/42", headers=HEADERS)company = response.json()["data"]const response = await fetch(`${BASE_URL}/companies/42`, { headers: { Authorization: `Bearer ${API_KEY}` }});const { data: company } = await response.json();Respuesta
{ "data": { "id": 42, "name": "Acme Inc", "description": "Enterprise software company", "domain": "acme.com", "website": "https://acme.com", "logo_url": "https://logo.clearbit.com/acme.com", "phone": "+1-555-0200", "address": "123 Market St", "city": "San Francisco", "state": "CA", "country": "US", "zip": "94105", "founded_year": 2015, "employee_count": "500", "revenue": "25000000", "industry": "Technology", "industry_group": "Software", "linkedin_url": "https://linkedin.com/company/acme", "linkedin_followers": "12500", "facebook_url": null, "twitter_url": "https://twitter.com/acme", "crunchbase_url": null, "meta_data": null, "contact_count": 15, "created_at": "2026-01-10T08:00:00Z", "updated_at": "2026-02-20T16:45:00Z" }}Errores
| Estado | Descripción |
|---|---|
404 | Empresa no encontrada |
Obtener contactos de la empresa
GET /companies/{company_id}/contacts
Devuelve los contactos asociados a una empresa.
Parámetros de ruta
| Parámetro | Tipo | Descripción |
|---|---|---|
company_id | integer | ID de empresa |
Parámetros de consulta
| Parámetro | Tipo | Predeterminado | Descripción |
|---|---|---|---|
limit | integer | 100 | Elementos por página (1-200) |
offset | integer | 0 | Desplazamiento para paginación |
Ejemplo
curl "https://be.graph8.com/api/v1/companies/42/contacts?limit=50" \ -H "Authorization: Bearer $API_KEY"response = requests.get( f"{BASE_URL}/companies/42/contacts", headers=HEADERS, params={"limit": 50})contacts = response.json()["data"]const response = await fetch(`${BASE_URL}/companies/42/contacts?limit=50`, { headers: { Authorization: `Bearer ${API_KEY}` }});const { data: contacts } = await response.json();Respuesta
{ "data": [ { "id": 1, "first_name": "Jane", "last_name": "Smith", "full_name": "Jane Smith", "job_title": "VP of Engineering", "seniority_level": "VP", "direct_phone": "+1-555-0100", "linkedin_url": "https://linkedin.com/in/janesmith", "city": "San Francisco", "state": "CA", "country": "US" } ], "pagination": { "page": 1, "limit": 50, "total": 15, "has_next": false }}Actualizar empresa
PATCH /companies/{company_id}
Actualice uno o más campos de una empresa. Incluya únicamente los campos que desea modificar.
Parámetros de ruta
| Parámetro | Tipo | Descripción |
|---|---|---|
company_id | integer | ID de empresa |
Cuerpo de la solicitud
Todos los campos son opcionales. Incluya solo los campos a actualizar.
| Campo | Tipo | Descripción |
|---|---|---|
name | string | Nombre de la empresa |
domain | string | Dominio principal |
website | string | URL del sitio web |
phone | string | Número de teléfono |
address | string | Dirección |
city | string | Ciudad |
state | string | Estado o provincia |
country | string | País |
zip | string | Código postal |
industry | string | Industria |
employee_count | integer | Número de empleados |
linkedin_url | string | URL de la página de empresa en LinkedIn |
Ejemplo
curl -X PATCH "https://be.graph8.com/api/v1/companies/42" \ -H "Authorization: Bearer $API_KEY" \ -H "Content-Type: application/json" \ -d '{"industry": "Enterprise Software", "employee_count": 550}'response = requests.patch( f"{BASE_URL}/companies/42", headers=HEADERS, json={"industry": "Enterprise Software", "employee_count": 550})const response = await fetch(`${BASE_URL}/companies/42`, { method: "PATCH", headers: { Authorization: `Bearer ${API_KEY}`, "Content-Type": "application/json" }, body: JSON.stringify({ industry: "Enterprise Software", employee_count: 550 })});Respuesta
{ "data": { "updated": 1 }}Errores
| Estado | Descripción |
|---|---|
400 | No se proporcionaron campos para actualizar |
404 | Empresa no encontrada |
Eliminar empresa
DELETE /companies/{company_id}
Eliminación lógica de una empresa. La empresa se marca como eliminada, pero no se suprime de forma permanente.
Parámetros de ruta
| Parámetro | Tipo | Descripción |
|---|---|---|
company_id | integer | ID de empresa |
Ejemplo
curl -X DELETE "https://be.graph8.com/api/v1/companies/42" \ -H "Authorization: Bearer $API_KEY"response = requests.delete(f"{BASE_URL}/companies/42", headers=HEADERS)const response = await fetch(`${BASE_URL}/companies/42`, { method: "DELETE", headers: { Authorization: `Bearer ${API_KEY}` }});Respuesta
{ "data": { "deleted": true }}Errores
| Estado | Descripción |
|---|---|
404 | Empresa no encontrada |