Schema
The normalized schema structure for all signals in the Autobound Signal Database.
Every signal in the Autobound Signal Database follows a normalized schema. This ensures consistent parsing and joining across all 350+ signal types.
Base Schema
All signals share this structure:
{
"signal_id": "f47ac10b-58cc-4372-a567-0e02b2c3d479",
"signal_type": "job-opening",
"signal_subtype": "hiring-gtm-engineer",
"signal_name": "Sales-Marketing Leaders hiring GTM Engineer",
"detected_at": "2025-08-03T18:31:22Z",
"contact": {
"email": "[email protected]",
"name": "Rachel M.",
"first_name": "Rachel",
"last_name": "M.",
"job_title": "VP of Sales",
"seniority_level": "vp",
"department": null,
"linkedin_url": "linkedin.com/in/rachel-m-a3a4b5262",
"city": null,
"state": null,
"country": null
},
"company": {
"name": "Teramind",
"domain": "teramind.co",
"linkedin_url": "linkedin.com/company/teramindco",
"industries": ["Software Development"],
"employee_count_low": 51,
"employee_count_high": 200,
"description": "Monitor, analyze, and optimize employee behavior..."
},
"data": {
// Signal-specific payload (varies by signal_type)
}
}Field Definitions
Core Signal Fields
| Field | Type | Description |
|---|---|---|
signal_id | string (UUID) | Unique identifier for this signal instance. Use for deduplication. |
signal_type | string | Primary signal category (e.g., job-opening, news, funding, job-change) |
signal_subtype | string | Specific signal variant (e.g., hiring-gtm-engineer, series-b-funding) |
signal_name | string | Human-readable description of the signal |
detected_at | string (ISO 8601) | When this signal was detected by Autobound |
Contact Object
Contact information for the person associated with this signal. All fields nullable.
| Field | Type | Description |
|---|---|---|
email | string | Professional email address |
name | string | Full name |
first_name | string | First name |
last_name | string | Last name |
job_title | string | Current job title |
seniority_level | string | Seniority level (ic, manager, director, vp, c-level) |
department | string | Department (e.g., sales, marketing, engineering) |
linkedin_url | string | LinkedIn profile URL |
city | string | City |
state | string | State/region |
country | string | Country |
Company Object
Firmographic data for the company associated with this signal.
| Field | Type | Description |
|---|---|---|
name | string | Company name |
domain | string | Primary website domain |
linkedin_url | string | LinkedIn company page URL |
industries | array[string] | List of industries |
employee_count_low | integer | Lower bound of employee count range |
employee_count_high | integer | Upper bound of employee count range |
description | string | Company description |
naics | string | NAICS industry code (when available) |
financial_symbol | string | Stock ticker symbol (when public) |
Data Object
The data object contains signal-specific fields that vary by signal_type. See examples below for common signal types.
Example Signals
Job Opening Signal
A company is hiring for a specific role.
{
"signal_id": "a1b2c3d4-5678-90ab-cdef-1234567890ab",
"signal_type": "job-opening",
"signal_subtype": "hiring-gtm-engineer",
"signal_name": "Sales-Marketing Leaders hiring GTM Engineer",
"detected_at": "2025-08-03T18:31:22Z",
"contact": {
"email": "[email protected]",
"name": "Rachel M.",
"first_name": "Rachel",
"last_name": "M.",
"job_title": "VP of Sales",
"seniority_level": "vp",
"department": null,
"linkedin_url": "linkedin.com/in/rachel-m-a3a4b5262",
"city": null,
"state": null,
"country": null
},
"company": {
"name": "Teramind",
"domain": "teramind.co",
"linkedin_url": "linkedin.com/company/teramindco",
"industries": ["Software Development"],
"employee_count_low": 51,
"employee_count_high": 200,
"description": "Monitor, analyze, and optimize employee behavior to prevent insider threats, protect data, boost productivity, and streamline business processes."
},
"data": {
"job_url": "https://jobs.lever.co/teramind/91fe84a0-cbb8-4082-8a48-4605d81a1339",
"job_title": "GTM Engineer",
"location": "United States",
"seniority": "non_manager",
"categories": ["engineering"],
"contract_types": ["full time", "fully remote", "remote"],
"description": "## GTM Engineer\n\nUnited States\nMarketing – Marketing / Full time / Remote\n\n**About Teramind**\n\nTeramind is the leading platform for user behavior analytics...",
"posted_at": null,
"first_seen_at": "2025-07-27T21:30:52Z",
"last_seen_at": "2025-07-27T21:35:28Z",
"salary_low_usd": null,
"salary_high_usd": null,
"onet_code": "17-2199.06"
}
}Data fields for job-opening:
| Field | Type | Description |
|---|---|---|
job_url | string | Direct link to job posting |
job_title | string | Title of the open position |
location | string | Job location |
seniority | string | Role seniority (non_manager, manager, director, vp, c-level) |
categories | array[string] | Job categories (e.g., engineering, sales, marketing) |
contract_types | array[string] | Contract types (e.g., full time, remote, contract) |
description | string | Full job description |
posted_at | string (ISO 8601) | When the job was posted (if available) |
first_seen_at | string (ISO 8601) | When we first detected this posting |
last_seen_at | string (ISO 8601) | When we last verified this posting is active |
salary_low_usd | integer | Lower salary bound in USD (if disclosed) |
salary_high_usd | integer | Upper salary bound in USD (if disclosed) |
onet_code | string | O*NET occupation code |
Job Change Signal
A contact recently changed jobs or was promoted.
{
"signal_id": "b2c3d4e5-6789-01bc-def2-3456789012cd",
"signal_type": "job-change",
"signal_subtype": "new-role",
"signal_name": "Started as VP of Sales at NewCo",
"detected_at": "2024-12-10T14:22:00Z",
"contact": {
"email": "[email protected]",
"name": "Sarah Chen",
"first_name": "Sarah",
"last_name": "Chen",
"job_title": "VP of Sales",
"seniority_level": "vp",
"department": "sales",
"linkedin_url": "linkedin.com/in/sarahchen",
"city": "San Francisco",
"state": "CA",
"country": "United States"
},
"company": {
"name": "NewCo",
"domain": "newco.io",
"linkedin_url": "linkedin.com/company/newco",
"industries": ["Software Development", "SaaS"],
"employee_count_low": 51,
"employee_count_high": 200,
"description": "NewCo is a modern sales intelligence platform..."
},
"data": {
"event_type": "job_change",
"job_change_occurred": true,
"promotion_occurred": false,
"months_since_change": 0,
"new_job_title": "VP of Sales",
"new_job_company_name": "NewCo",
"new_job_start_date": "2024-12-01T00:00:00Z",
"new_job_employment_type": "Full-time",
"new_job_location": "San Francisco, CA",
"previous_company_name": "OldCorp",
"previous_company_domain": "oldcorp.com",
"previous_role_title": "Director of Sales",
"previous_role_duration_months": 24,
"founded_new_company": false
}
}Data fields for job-change:
| Field | Type | Description |
|---|---|---|
event_type | string | Type of change (job_change, promotion, new_company_founded) |
job_change_occurred | boolean | True if changed companies |
promotion_occurred | boolean | True if promoted within same company |
months_since_change | integer | Months since the job change |
new_job_title | string | New role title |
new_job_company_name | string | New employer name |
new_job_start_date | string (ISO 8601) | Start date of new role |
new_job_employment_type | string | Employment type |
new_job_location | string | Location of new role |
previous_company_name | string | Previous employer name |
previous_company_domain | string | Previous employer domain |
previous_role_title | string | Previous role title |
previous_role_duration_months | integer | Duration of previous role |
founded_new_company | boolean | True if starting own company |
Funding Signal
A company raised funding.
{
"signal_id": "c3d4e5f6-7890-12cd-ef34-567890123def",
"signal_type": "news",
"signal_subtype": "funding",
"signal_name": "TechStartup raises $50M Series B",
"detected_at": "2024-12-12T09:15:00Z",
"contact": null,
"company": {
"name": "TechStartup Inc",
"domain": "techstartup.com",
"linkedin_url": "linkedin.com/company/techstartup",
"industries": ["Software Development", "AI/ML"],
"employee_count_low": 101,
"employee_count_high": 250,
"description": "TechStartup builds AI-powered analytics..."
},
"data": {
"article_title": "TechStartup Raises $50M Series B",
"article_source": "techcrunch.com",
"article_url": "https://techcrunch.com/2024/12/12/techstartup-series-b",
"article_body": "TechStartup Inc announced today that it has raised $50 million in Series B funding led by Accel Partners...",
"published_at": "2024-12-12T08:00:00Z",
"event_categories": ["funding", "series-b"]
}
}Data fields for news signals:
| Field | Type | Description |
|---|---|---|
article_title | string | News article headline |
article_source | string | Publication source |
article_url | string | Link to original article |
article_body | string | Full or summarized article text |
published_at | string (ISO 8601) | When the article was published |
event_categories | array[string] | Event types (e.g., funding, acquisition, product-launch) |
Schema Conventions
Naming
- All field names use snake_case
- Arrays are proper JSON arrays (not numbered keys like
field.0,field.1) - Boolean fields use
true/false
Nulls
- Missing or unknown values are
null, not empty strings - The
contactobject can benullfor company-only signals - Individual fields within objects can be
null
Timestamps
- All timestamps are ISO 8601 format in UTC
- Format:
YYYY-MM-DDTHH:MM:SSZ - No milliseconds in standard delivery (available on request)
IDs
signal_idis a UUID v4- Use for deduplication when processing incremental feeds
- Same signal detected multiple times will have different
signal_idvalues
Sample Files
Contat [email protected] for sample data.
Updated about 9 hours ago
