Skip to content

API Overview

The OpenProspect external API lets you create data orders, read order status, fetch delivered companies and prospects, and manage company blacklists.

All external requests use API-key bearer authentication. Internal Hanko frontend authentication is not part of the external developer API.

Base URL

https://api.openprospect.io

Endpoint Inventory

These endpoints are included in the public OpenAPI document.

Method Endpoint Required scope
GET /api/v1/auth/validate Any active API key
POST /api/v1/orders orders:write
GET /api/v1/orders orders:read
GET /api/v1/orders/{order_id} orders:read
GET /api/v1/orders/{order_id}/results orders:read
GET /api/v1/deliveries/{prospect_search_id}/companies companies:read, prospects:read
GET /api/v1/prospect-searches prospect_searches:read
GET /api/v1/companies companies:read
GET /api/v1/companies/{company_id} companies:read
GET /api/v1/companies/{company_id}/jobs companies:read
GET /api/v1/companies/{company_id}/jobs/summary companies:read
GET /api/v1/companies/{company_id}/webtech-intel companies:read
GET /api/v1/companies/{company_id}/webtech-intel/summary companies:read
GET /api/v1/prospects prospects:read
GET /api/v1/prospects/{prospect_id} prospects:read
POST /api/v1/blacklists blacklists:write
GET /api/v1/blacklists blacklists:read
GET /api/v1/blacklists/{blacklist_id} blacklists:read
PATCH /api/v1/blacklists/{blacklist_id} blacklists:write
DELETE /api/v1/blacklists/{blacklist_id} blacklists:write
POST /api/v1/blacklists/{blacklist_id}/entries blacklists:write
GET /api/v1/blacklists/{blacklist_id}/entries blacklists:read
DELETE /api/v1/blacklists/{blacklist_id}/entries blacklists:write
GET /api/v1/prospect-searches/{prospect_search_id}/blacklists blacklists:read
PUT /api/v1/prospect-searches/{prospect_search_id}/blacklists blacklists:write

First Calls

  1. Validate your key with Authentication.
  2. Create an order with Quick Start.
  3. Fetch completed results with Delivery Integration.
  4. Inspect schemas in Interactive API.

Response Format

Success responses are JSON. Error responses use a stable object with a machine-readable code and a human-readable message.

{
  "code": "AUTHORIZATION_ERROR",
  "message": "Missing required scopes: orders:write",
  "details": {
    "required_scopes": ["orders:write"]
  }
}

See Error Handling for status codes and examples.