/v1/search and a list of entities in an any_of filter, a handful of those entities with heavy coverage can take most of the chunks and the rest of the list gets little or nothing. Watchlist search distributes the chunks across the watchlist instead, so coverage is far more uniform.
Watchlist search is billed exactly like
/v1/search: by the number of chunks returned, counting each chunk once.- API
Request
Send the entities inwatchlists, the question in query and how many chunks you want in max_chunks:Watchlists
watchlists is a list of entity sets. Every set has its own scope, which decides where an entity must be detected for a chunk to count for it:Mix scopes by sending several sets:
Distributing the chunks
max_chunks controls both how many chunks come back and how they are shared:When
max_chunks is omitted, 100 chunks in total are spread across the watchlist.Use the total budget when you want the most relevant content across the list and accept that some entities may come back empty. Use per_entity when you want a comparable amount of content for each entity, for example to build one card per company.Query
query takes the same text, filters, ranking_params and auto_enrich_filters as /v1/search. Check Query filters for the available filters.Three things differ from /v1/search:max_chunkslives at the top level, not insidequery.textsandexternal_searchare not supported.- Results are always diversified across sources, so
ranking_params.content_diversificationcannot be set.
query returns a 400.Response
results has one group per requested entity, in the order you sent them. Entities without matches are still present, with an empty documents list:id, headline, timestamp, url and the chunks assigned to that entity. A chunk is never returned under two entities: when a chunk mentions several watchlist entities it is attributed to one of them.See the API reference for the full request and response schema.