Skip to main content
Search Website, Market, and LinkedIn Signals using structured filtering criteria with the 1eye API. Combine multiple conditions to find buying activities associated with specific companies, ICPs, Personas, website visits, market research, and LinkedIn engagement. Search Signals enables developers, GTM platforms, and AI agents to discover relevant buying activity across all three Signal channels without retrieving and filtering entire datasets. The API searches existing Signals and returns the same Signal objects available through the List Signals API. Search Signals is read-only. Searches do not generate new Signals, trigger enrichment, reevaluate Buyers, or consume additional 1eye credits.

Base URL

All Search Signals requests use:

Authentication

All requests require a valid 1eye API key.
API keys are scoped to a single workspace. Searches automatically return Signals belonging to the workspace associated with your API key. You do not need to provide a workspace ID. The examples below use $API_KEY as the environment variable containing your API key. For more information, see Authentication.

Endpoint

Use List Signals for straightforward retrieval and Search Signals for advanced filtering using multiple conditions.

1. Search Request

Search Signals accepts a JSON request body containing structured filtering criteria. The same request structure is used by Search Buyers.

Example Request

Find Website Signals representing visits to Snowbricks’ pricing page.

Request Body

Parameters

How Filtering Works

Each filter rule specifies:
  1. Field – Which Signal attribute to search.
  2. Operator – How the attribute should be compared.
  3. Value – The value to compare against.
For example:
Matches Website Signals. Another example:
Matches Signals whose searchable URL contains /pricing.

Combining Multiple Rules

Use filter.match to control how conditions are combined. For example:
Returns Website Signals whose URLs contain /pricing. The all operator is the standard matching mode for combining Signal Type with other search conditions.

Result Limit

limit controls the maximum number of Signals returned in a response.
  • Default: 100
  • Maximum: 1,000
  • Minimum: 1
The limit applies to the number of results returned, not the number of records evaluated.

2. Signal Type Filtering

1eye captures three types of buying Signals. Search Signals supports searching one, multiple, or all three types. Signal Type is a standard filter inside filter.rules. There is no separate signal_types request parameter.

2.1 Search Website Signals

Use signal_type with the eq operator.
Returns Website Signals only.

2.2 Search Market Signals

Returns Market Signals only.

2.3 Search LinkedIn Signals

Returns LinkedIn Signals only.

2.4 Search Multiple Signal Types

Use the in operator to search multiple Signal types in one request. For example, search Website and Market Signals:
Returns matching Website and Market Signals. LinkedIn Signals are excluded.

2.5 Search All Signal Types

To search across all three Signal types, omit the signal_type filter. For example:
Returns matching Website, Market, and LinkedIn Signals associated with Acme Analytics.

Important

You do not need separate endpoints to search different Signal types. The same endpoint supports every combination:
All results are returned through one unified Signal collection.

3. Signal Triggers

Every Signal represents an activity that has already occurred. A Signal has two important attributes:
  • type – Identifies the Signal channel.
  • trigger – Identifies the activity that occurred.
For example:
Represents Market research activity.

Supported Triggers

Trigger Filtering

Use the trigger field with eq or in. For example:
Matches topic research activities.

Trigger Validation

A trigger must be compatible with the selected Signal type. For example: Valid:
Invalid:
The second request is invalid because researched_topic is a Market trigger, not a Website trigger.

Searching Multiple Triggers

Use the in operator. For example, search Market Signals involving topic research or competitor evaluation:

Important

When filtering by trigger, include a compatible signal_type rule. This ensures that trigger values are interpreted consistently across Website, Market, and LinkedIn Signals.

4. Common Signal Filters

Search Signals supports filtering by attributes shared across compatible Signal types. These filters help identify activity associated with particular companies, Buyers, ICPs, Personas, and time periods.

Common Filter Fields

A filter is available only when the corresponding attribute is supported by the selected Signal types.

Example: Signals from an ICP

Find Website and Market Signals associated with Snowbricks’ Cloud-Native SaaS ICP.
Returns matching Website and Market Signals associated with the specified ICP.

Example: Signals from a Company

Find buying activity associated with Acme Analytics, a fictional prospective Snowbricks customer.
Because no Signal Type is specified, the search includes all three channels.

5. Website Signal Filters

Website Signals represent activity captured on your website. Examples include page visits, form submissions, and abandoned forms. Search Website Signals using URL, page, form, device, browser, and attribution criteria.

Website Filter Fields

Device Types

Supported values:

Example: Pricing Page Visits

Find visitors who viewed Snowbricks’ pricing page.

Example: Demo Form Submissions

Find Website Signals representing form submissions on Snowbricks’ demo page.

Example: Visitors from Google Ads

Find Website Signals attributed to Google Ads campaigns using UTM tracking.

URL Matching

Website Signal Search supports several URL comparison operators:
  • eq – Match an exact URL value.
  • in – Match any URL in a supplied set.
  • contains – Match URLs containing specified text.
  • starts_with – Match URLs beginning with specified text.
These are search operators for existing Signal records. They are separate from Knowledge Base Target Page and Target Form configuration, which uses canonical URL matching.

Important

Website-specific filters should be combined with:
This ensures the search is restricted to compatible Signals.

6. Market Signal Filters

Market Signals capture external buying-intent activity related to relevant topics, products, and competitors. For example, Snowbricks might identify potential customers researching lakehouse architecture, cloud data warehousing, or competing data platforms.

Market Triggers

Market Filter Fields

Common company, ICP, and Persona filters may also be combined with Market-specific filters where supported.

Example: Lakehouse Research

Find Market Signals involving research into lakehouse architecture.

Example: Competitor Evaluations

Find Market Signals where potential Buyers evaluated competitors.

How Market Signal Search Works

Search operates on Market Signals already captured by 1eye. It does not:
  • Initiate new market research.
  • Generate additional intent data.
  • Enrich new Buyers.
  • Create historical Market Signals.
Searching existing Market Signals consumes no additional 1eye credits.

7. LinkedIn Signal Filters

LinkedIn Signals represent activity captured from LinkedIn, including company-page follows and post engagement. These Signals can help identify people engaging with companies and conversations relevant to your business.

LinkedIn Triggers

LinkedIn Filter Fields

Common company, ICP, and Persona filters may also be combined with LinkedIn filters where supported.

Example: Followed Company Pages

Find LinkedIn Signals representing company-page follows.

Example: LinkedIn Post Engagement

Find LinkedIn Signals representing reactions or comments on posts.

Important

LinkedIn Signal Search operates only on activity already available in 1eye. It does not perform live LinkedIn searches, discover new followers, or generate additional LinkedIn Signals.
One of the key capabilities of Search Signals is the ability to search multiple buying-intent channels in a single request. For example, Snowbricks might want to identify recent Website and Market Signals from companies matching its ideal customer profile.

Example: Website + Market Signals

Example: Multiple Signal Types and Triggers

Find Website page visits and Market topic research activity.
This request searches both selected Signal types.

Filter Compatibility

When multiple Signal types are selected:
  • Shared filters can be applied across all selected types.
  • Type-specific filters must be compatible with every selected type.
  • Trigger values must belong to the selected Signal types.
  • Incompatible filter combinations return validation errors.
For example, selecting LinkedIn Signals while filtering by Website UTM parameters is invalid.

Global Results

Cross-channel searches return one combined Signal collection. Results are globally sorted by Signal occurrence time. For example: Results are not grouped into separate Website, Market, and LinkedIn collections.

9. Search Operators

Search Signals supports structured comparisons using field-specific operators.

Field-Specific Validation

Not every operator is supported by every field. For example:
  • signal_type supports eq and in.
  • trigger supports eq and in.
  • url supports eq, in, contains, and starts_with.
  • signal_at supports datetime operators.
  • company_name supports string comparisons.
Unsupported field/operator combinations return validation errors.

Value Types

Values must match the field’s expected type. String
Enum
Array
Datetime
Invalid value types return 400 Bad Request.

10. Timestamp Filters

Search Signals supports filtering by Signal occurrence time and creation time.

Signal Occurrence Time

Use signal_at when searching buying activities during a specific time period. The filter maps to the Signal’s public captured_at timestamp.

Example: Recent Buying Activity

Find Signals captured on or after October 1, 2026.
This searches across all three Signal types.

Datetime Operators

Timestamps use UTC in ISO 8601 format.

11. Response Structure

Search Signals returns the same Signal objects as the existing List Signals API. There is no separate Search Signal response model.

Example Response

200 OK The following abbreviated example illustrates a response containing multiple Signal types.
The example is abbreviated for readability. Actual responses include the full Signal object, including shared and type-specific properties.

Response Fields

Search Signals preserves the existing Signal object, including:
  • Signal identifier.
  • Signal type.
  • Signal trigger.
  • Associated Buyer and company information, where available.
  • Signal occurrence timestamp.
  • Website-specific information.
  • Market-specific information.
  • LinkedIn-specific information.
  • Applicable system-generated metadata.
The object matching the Signal type contains the relevant type-specific data. Other type-specific objects remain null, consistent with the existing Signal API. For complete Signal object definitions, see Retrieve a Signal.

Empty Results

If no Signals match the search, the API returns: 200 OK
No matching Signals is not considered an error.

12. Pagination & Sorting

Search Signals uses cursor-based pagination, consistent with the existing 1eye Public API.

Pagination

  • Default page size: 100.
  • Maximum page size: 1,000.
  • Results are returned in pages.
  • Each response includes pagination.next_cursor.
  • A null next cursor indicates the end of the result set.
Continuation requests must preserve the original search conditions and sorting. Cursors are opaque and must not be modified or reused with different searches. See Pagination.

Sorting

Search results follow the existing public Signal sorting conventions. Default ordering:
The Signal ID acts as a deterministic tie-breaker when multiple Signals share the same capture timestamp.

Cross-Type Sorting

When searching multiple Signal types, results are sorted globally. For example:
The API does not paginate Website, Market, and LinkedIn Signals independently. One search returns one globally ordered collection with one continuation cursor. See Filtering & Sorting.

13. Search Signals vs. Search Buyers

Search Signals and Search Buyers serve different purposes.

Search Signals

Searches existing Signal records using attributes such as:
  • Signal type.
  • Activity trigger.
  • Website URL.
  • Form URL.
  • Market topic.
  • LinkedIn activity.
  • Company or ICP association.
  • Signal timestamp.

Search Buyers

Searches existing Buyer Intelligence using attributes such as:
  • Contact information.
  • Company characteristics.
  • ICP and Persona matches.
  • Target List memberships.
  • Aggregated Signal Counts.
  • Attribution.

Example

Question: Find Website Signals involving visits to Snowbricks’ pricing page. Use Search Signals:
Question: Find Buyers who have generated at least three Website Signals. Use Search Buyers with:
Search Signals finds individual events. Search Buyers finds the people and companies behind accumulated buying activity.

14. Filter Validation

Search Signals validates every supplied filter against the selected Signal types.

Requirements

  • Fields must be supported by Signal Search.
  • Operators must be valid for the selected field.
  • Values must use the expected type.
  • Enum values must be recognized.
  • Trigger values must be compatible with the selected Signal types.
  • Type-specific filters must be compatible with every selected Signal type.
  • Unsupported conditions must not be silently ignored.

Invalid Signal Type

For example:
Returns a validation error because instagram is not a supported Signal type.

Invalid Trigger Combination

For example:
Returns a validation error because researched_topic is a Market trigger.

Incompatible Filter

For example:
Returns a validation error because utm_source is a Website-specific attribute.

Missing Values

When a Signal lacks a particular attribute:
  • Missing fields do not satisfy positive comparisons.
  • Null values are not interpreted as zero.
  • Unsupported fields are not silently ignored.
Invalid queries return errors rather than misleading search results.

15. Error Handling

Search Signals uses the standard 1eye API error format.

Invalid Filter

Unsupported filters or incompatible Signal-type combinations return 400 Bad Request.

Example Error

400 Bad Request

Common Validation Errors

  • Unsupported Signal type.
  • Unsupported trigger.
  • Invalid Signal type/trigger combination.
  • Unknown filter field.
  • Unsupported operator.
  • Invalid value type.
  • Invalid enum value.
  • Missing or malformed filter rules.
  • Invalid result limit.
  • Invalid pagination cursor.
  • Incompatible type-specific filters.
The API does not silently ignore unsupported search conditions. For more information, see Errors.

16. Rate Limits & Credits

Rate Limits

Search Signals requests count toward your workspace API rate limits. Rate limits are shared across all API keys belonging to the same workspace. If a workspace exceeds its rate limit, the API returns: 429 Too Many Requests Follow the Retry-After header when provided. See Rate Limits.

Credits

Search Signals does not consume additional 1eye credits. The API searches existing Signal Intelligence already available in your workspace. It does not:
  • Generate new Website Signals.
  • Generate new Market Signals.
  • Generate new LinkedIn Signals.
  • Resolve new Buyers.
  • Enrich contacts or companies.
  • Trigger REEM evaluations.
  • Perform live LinkedIn or Market research.
  • Recalculate historical buying activity.
  • Initiate Destination workflows.
Search operations are read-only.

17. Best Practices

Always Specify Signal Type for Channel-Specific Searches

When searching for Website, Market, or LinkedIn-specific attributes, include an explicit signal_type filter. This improves clarity and ensures your filters apply to compatible Signals.

Use Triggers to Find Meaningful Activities

Combine Signal Type and Trigger to search for specific activities. Examples:
  • Website + visited_page
  • Website + filled_form
  • Market + researched_topic
  • Market + evaluated_competitor
  • LinkedIn + followed_page
  • LinkedIn + commented_post

Use Cross-Channel Searches for Broader Intelligence

Omit signal_type when searching for activity across all three channels using shared filters. For example, search all activity associated with a specific company or ICP.

Combine Filters to Narrow Results

Use match: "all" to combine Signal Type, Trigger, Company, ICP, and time conditions. This helps reduce irrelevant results and identify specific buying activities.

Use Time Filters for Recency

Recent buying activity is often more actionable than older activity. Use signal_at to search for Signals captured during a relevant time period.

Use Website URLs for Page-Level Intent

Search pricing, demo, product, and integration page visits to identify direct engagement with your website.

Use Market Topics for Research Intent

Market Signals can reveal interest in broader technologies and business challenges, even when a Buyer has not visited your website.

Use LinkedIn Signals for Social Buying Activity

LinkedIn Signals can provide additional context when potential Buyers engage with relevant company pages or posts.

Use Pagination for Large Result Sets

Use cursor pagination rather than requesting unnecessarily large result sets.

Use Search Buyers for Buyer-Level Filtering

When your goal is to find people or companies matching ICPs, Personas, firmographics, or accumulated Signal Counts, use Search Buyers. Use Search Signals when your criteria relate to individual buying activities.