News Signals: Second Company Enrichment & Additional Fields
We are expanding the news signal schema with structured second company data and additional enrichment fields.
This is an upcoming change, targeted for early June 2026. We will communicate the exact rollout date in advance. No action is needed until then.
Second company enrichment
News signals for event categories that involve two companies (M&A, partnerships, investments, integrations, litigation, talent movement) now include structured data for the second party. Previously, the second company was only available in the article text.
Two new fields in the data object identify the second company:
| Field | Type | Description |
|---|---|---|
data.related_company_name | string | Name of the second company involved in the event |
data.related_company_domain | string | Domain of the second company |
Which subtypes include second company data
| Subtype | company (primary) | Second company |
|---|---|---|
| Acquisition | Acquirer | Company acquired |
| Merger | Company A | Merge partner |
| Sells Assets | Seller | Buyer |
| New Customer | Vendor | The new client |
| Files Lawsuit | Plaintiff | Defendant |
| Invests Into | Investor | Company invested in |
| Integration | Company A | Integration partner |
| Partnership | Company A | Partner |
| Competitor Identified | Company A | The competitor |
| Executive Departure | (person-level) | Company departed from |
| Executive Retirement | (person-level) | Company retired from |
Additional fields
The following fields are being added to the news signal schema. All fields are nullable and only present when relevant to the signal subtype.
Top-level fields
| Field | Type | Description |
|---|---|---|
signal_id | string | Unique identifier for the signal record |
signal_type | string | Signal category (always news for news signals) |
signal_subtype | string | Specific event type (e.g. acquires, partnership, increases_headcount_by) |
signal_name | string | Human-readable signal name |
detected_at | string | ISO 8601 timestamp when the signal was detected |
batch_id | string | Delivery batch identifier |
association | string | How the signal is associated with the company |
Company fields
| Field | Type | Description |
|---|---|---|
company.name | string | Company name |
company.domain | string | Company domain |
company.linkedin_url | string | LinkedIn company page URL |
company.industries | array of strings | Industry classifications |
company.employee_count_low | integer | Lower bound of employee count range |
company.employee_count_high | integer | Upper bound of employee count range |
Data fields
| Field | Type | Description |
|---|---|---|
data.title | string | Article headline |
data.summary | string | Short human-readable excerpt of the event |
data.body | string | Full article text |
data.overview | string | Company or event overview |
data.url | string | Source article URL |
data.image_url | string | Article image URL |
data.author | string | Article author name |
data.published_at | string | ISO 8601 date when the article was published |
data.effective_date | string | Date the event takes or took effect |
data.event | string | Name of the event attended (for event-related signals) |
data.amount | integer | Monetary amount in USD (funding, acquisition value, revenue, etc.) |
data.confidence | double | Reliability score between 0 and 1. A value of 1 indicates highest certainty. |
data.is_planned | boolean | true if the event is planned but not yet completed |
data.headcount | integer | Number of people involved (hiring, layoffs) |
data.contact | string | Person name mentioned in the event |
data.job_title | string | Job title referenced in the event |
data.job_title_tags | array of strings | Normalized job title tags (e.g. marketing, directors) |
data.ticker | string | Stock ticker symbol |
data.location | string | Location as text (built from location_data when available) |
data.location_data | array of objects | Structured location data (see below) |
data.financing_type | string | Type of financing (e.g. Series B funding) |
data.financing_type_tags | array of strings | Normalized financing category tags (e.g. equity) |
data.product | string | Product name mentioned |
data.product_tags | array of strings | Normalized product tags |
data.product_data.name | string | Cleaned product name |
data.product_data.full_text | string | Full product mention as extracted from text |
data.product_data.release_type | string | Product release type (e.g. major) |
data.product_data.fuzzy_match | boolean | true if the product name may not have been extracted cleanly |
data.assets | string | Assets involved (e.g. properties, facilities) |
data.assets_tags | array of strings | Normalized asset tags |
data.award | string | Award or recognition name |
data.recognition | string | Name of the recognition the company received |
data.vulnerability | string | Security or operational issue identified |
data.related_company_name | string | Name of the second company (see above) |
data.related_company_domain | string | Domain of the second company (see above) |
Location data object
Each entry in data.location_data contains:
| Field | Type | Description |
|---|---|---|
city | string | City name |
state | string | State or province |
zip_code | string | Postal code |
country | string | Country name |
region | string | Geographic region (e.g. Northern America) |
continent | string | Continent (e.g. Americas) |
fuzzy_match | boolean | true if location data may not have been extracted accurately |
Example
{
"signal_id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"signal_type": "news",
"signal_subtype": "acquires",
"signal_name": "Acquisition",
"detected_at": "2026-05-15T14:30:00Z",
"batch_id": "batch_20260515_001",
"association": "direct",
"company": {
"name": "Acquirer Corp",
"domain": "acquirercorp.com",
"linkedin_url": "https://linkedin.com/company/acquirer-corp",
"industries": ["Technology", "Enterprise Software"],
"employee_count_low": 1001,
"employee_count_high": 5000
},
"data": {
"title": "Acquirer Corp Completes Acquisition of Target Inc",
"summary": "Acquirer Corp has acquired Target Inc for $50M to expand its AI capabilities.",
"body": "Enterprise software company Acquirer Corp announced today that it has completed the acquisition of Target Inc...",
"url": "https://techcrunch.com/2026/05/15/acquirer-corp-acquires-target-inc",
"author": "Sarah Johnson",
"image_url": "https://techcrunch.com/images/acquirer-target-deal.jpg",
"published_at": "2026-05-15T10:00:00Z",
"effective_date": "2026-05-15",
"amount": 50000000,
"confidence": 0.95,
"is_planned": false,
"location": "San Francisco, California, 94105, United States, Northern America, Americas",
"location_data": [
{
"city": "San Francisco",
"state": "California",
"zip_code": "94105",
"country": "United States",
"region": "Northern America",
"continent": "Americas",
"fuzzy_match": false
}
],
"related_company_name": "Target Inc",
"related_company_domain": "targetinc.com"
}
}What stays the same
- Signal types without a second party (e.g., Funding, IPO, Launches, Headcount changes) will not include
data.related_company_nameordata.related_company_domain. - Delivery schedule and file format are unchanged.
- All fields are nullable and will only be present when relevant to the specific signal subtype.
What to update
If you ingest news signals, add handling for the new data.related_company_name and data.related_company_domain fields on the 11 subtypes listed above, and ensure your schema accommodates the additional data fields documented in this changelog.
