Docs

Full API. Bring your own AI agent: connect ChatGPT, Claude, Gemini, Cursor, LangChain, n8n or any agent to Harbilo's data and tools.

Updated

Quick start

  1. Start 7-day free trial (no card required). Your workspace opens configured for your industry.
  2. Create an API key under API keys in the app.
  3. Call the REST API from your code, or connect your AI agent below.

Connect your AI agent

Harbilo is not an agent; it is the data and tools your agents use. Any client that speaks the Model Context Protocol gets every Harbilo capability as a tool: company search, hot leads, email finding and verification, lists and alerts. Code can call the same capabilities over REST. Calls use your plan's credits and API allowance exactly as the app does.

ChatGPT

Add Harbilo as a custom connector (remote MCP server) in ChatGPT's connector settings, with your API key as a bearer token.

Connector type:   MCP server (remote)
Server URL:       https://harbilo-mcp-7pjak44h2q-uc.a.run.app/mcp
Authentication:   Bearer token
Token:            hb_live_…

Claude

Claude Code, Claude Desktop and the Claude Agent SDK all connect to Harbilo's MCP server.

claude mcp add --transport http harbilo https://harbilo-mcp-7pjak44h2q-uc.a.run.app/mcp \
  --header "Authorization: Bearer hb_live_…"

Gemini CLI

Add the server to ~/.gemini/settings.json.

{
  "mcpServers": {
    "harbilo": {
      "httpUrl": "https://harbilo-mcp-7pjak44h2q-uc.a.run.app/mcp",
      "headers": {
        "Authorization": "Bearer hb_live_…"
      }
    }
  }
}

Cursor

Add the server to .cursor/mcp.json in your project (or the global Cursor settings).

{
  "mcpServers": {
    "harbilo": {
      "url": "https://harbilo-mcp-7pjak44h2q-uc.a.run.app/mcp",
      "headers": {
        "Authorization": "Bearer hb_live_…"
      }
    }
  }
}

OpenAI Agents SDK

Give your agent Harbilo's tools through the SDK's streamable-HTTP MCP client.

from agents import Agent, Runner
from agents.mcp import MCPServerStreamableHttp

async with MCPServerStreamableHttp(params={"url": "https://harbilo-mcp-7pjak44h2q-uc.a.run.app/mcp", "headers": {"Authorization": "Bearer hb_live_…"}}) as harbilo:
    agent = Agent(name="Prospecting", instructions="Use Harbilo to find and qualify leads.", mcp_servers=[harbilo])
    result = await Runner.run(agent, "Contractors in New Jersey with new permits this month")
    print(result.final_output)

Python

Plain HTTP against the REST API (OpenAPI at /v1/openapi.json if you prefer a generated client).

import requests

r = requests.get("https://api.harbilo.com/v1/companies/", params={"states": "NJ", "industry": "construction"},
                 headers={"Authorization": "Bearer hb_live_…"})
print(r.json()["results"][:3])

TypeScript

fetch works everywhere; generate typed clients from /v1/openapi.json.

const r = await fetch("https://api.harbilo.com/v1/companies/?states=NJ&industry=construction", {
  headers: { Authorization: "Bearer hb_live_…" },
});
console.log((await r.json()).results.slice(0, 3));

curl

Every capability is a REST call. Paid calls take an Idempotency-Key header.

curl -H "Authorization: Bearer hb_live_…" \
  "https://api.harbilo.com/v1/companies/?states=NJ&industry=construction"

Also works with Copilot, LangChain, n8n, Zapier and any other MCP client or HTTP tool: use the MCP URL https://harbilo-mcp-7pjak44h2q-uc.a.run.app/mcp or the REST base https://api.harbilo.com/v1 with Authorization: Bearer <key>.

Reference