Skip to main content
Search Agent API - Early Testers
Harmonic Team avatar
Written by Harmonic Team
Updated over a week ago

Overview

Search Agent enables natural language queries against Harmonic's company database. Simply describe what you're looking for, and we'll return relevant companies matching your criteria!

Early access notice

We're sharing early access to the Search Agent feature to gather feedback from users. As this is an initial release:

  • You may encounter occasional imperfections in search results

  • Your feedback will help us improve the feature

  • The API interface may evolve based on user input

Getting started with Search Agent API

You'll need an active Harmonic API key to use the Search Agent API. Find yours in the “Manage API Keys” section of your Harmonic dashboard.

Query guidelines

To reference a company, you can use: Name, Domain, or URL formats (recommended): Examples:

  • Name: show me companies like harmonic

  • Domain: show me companies similar to harmonic.ai

  • URL: show me companies similar to https://www.harmonic.ai

    • You can also pass multiple companies, e.g. companies like ramp.com or https://www.brex.com/

Also supported:

  • URN format: companies similar to @[CompanyName](urn:harmonic:company:ID)

Queries that work well

  • "LLM prompt engineering tools similar to langfuse.com with recent growth"

  • "Series B software companies with >$10M in funding focused on financial services"

  • "robotics companies building automation like https://www.covariant.ai"

  • "climate tech startups with employees from GE Renewable Energy in energy storage"

  • "early stage healthcare startups with enterprise traction in last 6 months"

  • "companies founded by ex-Google employees"

Queries that do not work as well

  • Team network

    • "startups like stripe.com in my network"

  • Fields outside of Harmonic's capture

    • See complete list of harmonic company data fields here

Endpoint

GET https://api.harmonic.ai/search/search_agent

Request parameters

Parameter

Type

Description

Guidelines

query

string

Your natural language search query (e.g., "payment processing startups with at least 5m in funding")

Be specific and descriptive. The more context you provide, the better the semantic matching.

similarity_threshold

float

Minimum similarity score for returned results (0.0 to 1.0)

• Higher values (e.g., 0.8) return fewer but more closely matched results
• Lower values (e.g., 0.3) return more results with broader matching
• We recommend starting with 0.5 and adjusting based on your needs

size

integer

Maximum number of results to return

We recommend 25-50 results per page for most use cases

Example request

Here's a sample request that searches for “payment processing startups with at least $5M in funding”, using a similarity threshold of 0.5 and requesting up to 25 results:

curl -X GET \ 'https://api.harmonic.ai/search/search_agent?query=payment%20processing%20startups%20with%20at%20least%205m%20in%20funding&similarity_threshold=0.5&size=25' \ -H 'accept: application/json' \ -H 'apikey: API_KEY'

Query interpretation

Search Agent automatically interprets your natural language query and breaks it down into:

  • A semantic query for the type of company/product your search implies you’re looking for (if applicable)

  • Structured facets representing terms reflected in your query. For example:

    • “that have raised more than 5M” → will get translated to a structured facet representing funding total

    • “that are growing fast” → will get translated to headcount growth and/or traction metric facets

  • Specific companies you’ve called out in the search. For example:

    • “companies like @Harmonic” → the agent will recognize you want your search to be constrained to companies close to Harmonic, will narrow the search space accordingly, and return back to you an indicator of which companies were used in the search, and how.

    • To ensure results are constrained to those similar to companies specified in your query, you'll need to ensure you specify an exact company. The required format is @[companyname](companyurn). For example,

      • ✅ "companies like @[Harmonic](urn:harmonic:company:1)" will work

      • ❌ "companies like Harmonic" will not work

Response format

The API returns a JSON response with the following structure:

{
"count": integer, // total number of matching results
"page_info": { // pagination information
"next": string, // token for next page
"current": string|null, // current page token
"has_next": boolean // whether more results exist
},
"results": [ // array of matching companies
{
"urn": string, // unique company identifier
"cursor": string // pagination cursor for this result
}
],
"query_interpretation": { // how the API interpreted your query
"semantic": string, // expanded semantic interpretation
"faceted": array, // structured filters extracted from query
"preserved_semantic_input": string, // original semantic portion
"companies": [
{
"company_name": "string",
"company_urn": "string",
"inclusion": "include",
"parsed_text": "string"
}
],
"unprocessable_query_part": string, // any parts that couldn't be processed
"parser_version": string // version of the query parser used
}
}

Example response

{
"count": 885,
"page_info": {
"next": "page_2_token",
"current": null,
"has_next": true
},
"results": [
{
"urn": "urn:harmonic:company:123456",
"cursor": "result_1_position"
},
{
"urn": "urn:harmonic:company:789012",
"cursor": "result_2_position"
...
],
"query_interpretation": {
"semantic": "payment processing startups offering innovative solutions for secure transactions, fraud prevention, and seamless integration with e-commerce platforms. Focus on scalability, real-time payment processing, and enhancing customer experience through advanced technology.",
"faceted": [
{
"field_name": "funding_total",
"operator": "greaterThanOrEquals",
"filter_value": 5000000,
"parsed_text": "at least 5m in funding"
}
],
"preserved_semantic_input": "payment processing startups",
"companies": null,
"unprocessable_query_part": "",
"filter_str_repr": null,
"api_request": null,
"parser_version": "v1"
}
}

Feedback

As an early access user, your feedback is incredibly valuable! Please reach out to support@harmonic.ai with your experiences, suggestions, and any issues you encounter to help us improve Search Agent.

Did this answer your question?