# Build withsignal data

RESTful API. Sub-200ms responses. 35+ data sources across 250M+ contacts and 50M+ companies. Enterprise-grade signal intelligence.

## First API call in 5 minutes

Three steps from zero to signal data in your application.

1

### Get API access

Contact our team to discuss your use case. We will provision your API credentials and get you started. You can also explore the interactive API playground in our docs.

2

### Make your first call

Search for signals across any company or contact. Filter by signal type, date range, or industry.

```
curl -X POST https://signals.autobound.ai/v1/signals/search \ 
  -H "Authorization: Bearer YOUR_API_KEY" \ 
  -H "Content-Type: application/json" \ 
  -d '{"query": "companies hiring data engineers", "limit": 5}'
```

3

### Enrich a contact

Get all signals associated with a specific person, including job changes, company news, social activity, and more.

```
curl -X POST https://signals.autobound.ai/v1/contacts/enrich \ 
  -H "Authorization: Bearer YOUR_API_KEY" \ 
  -H "Content-Type: application/json" \ 
  -d '{"email": "jane@example.com"}'
```

## Key endpoints

Everything you need to search, enrich, and score B2B signals.

- **POST**  /v1/signals/search  
  Search signals by keyword, company, or contact across all 35+ data sources

- **POST**  /v1/contacts/enrich  
  Get all signals for a specific contact by email or LinkedIn URL

- **POST**  /v1/companies/enrich  
  Get company-level signals by domain, name, or company ID

- **POST**  /v1/companies/bulk  
  Bulk company enrichment for up to 100 domains in a single request

- **GET**  /v1/signals/types  
  List all available signal types with metadata and coverage stats

- **GET**  /v1/stats  
  Database statistics: total signals, coverage by type, freshness metrics

## Code examples

Drop signal data into your stack in minutes.

### Python

```
import requests

API_KEY = "your_api_key"
BASE_URL = "https://signals.autobound.ai/v1"

# Search for hiring signals at companies in SaaS
response = requests.post(
    f"{BASE_URL}/signals/search",
    headers={"Authorization": f"Bearer {API_KEY}"},
    json={
        "signal_type": "hiring-trends",
        "domain": "acme.com",
        "date_from": "2026-01-01",
        "limit": 10
    }
)

signals = response.json()["results"]
for signal in signals:
    print(f"{signal['company_name']}: {signal['title']}")
```

### Node.js

```
const API_KEY = "your_api_key";
const BASE_URL = "https://signals.autobound.ai/v1";

// Enrich a contact with all available signals
const response = await fetch(`${BASE_URL}/contacts/enrich`, {
  method: "POST",
  headers: {
    "Authorization": `Bearer ${API_KEY}`,
    "Content-Type": "application/json"
  },
  body: JSON.stringify({
    email: "jane@example.com"
  })
});

const { contact, signals } = await response.json();
console.log(`Found ${signals.length} signals for ${contact.name}`);
```

### cURL

```
# Enrich a company by domain
curl -X POST https://signals.autobound.ai/v1/companies/enrich \ 
  -H "Authorization: Bearer YOUR_API_KEY" \ 
  -H "Content-Type: application/json" \ 
  -d '{
    "domain": "example.com"
  }'
```

## Why developers choose Autobound

### One API, all signals

Replace 3-5 fragmented data vendors with a single integration. 35+ data sources from one endpoint.

### Fast & predictable

Sub-200ms p95 response times. Consistent JSON responses. No surprises.

### Full temporal data

3+ years of historical signals. Track momentum, not just snapshots.

### White-glove onboarding

Dedicated solutions engineer. Custom integration support. We help you go live fast.
