Search papers (multi-query)
search_papers_manyRun up to 25 query variants in one call to obtain a deduped, merged list of peer-reviewed papers for comprehensive literature surveys and related-work sections.
Instructions
Use this for a LITERATURE SWEEP or survey: a research question broad enough to need several angles, e.g. "what's been done on X", a related-work section, or a state-of-the-field summary. Prefer this over web_search for such research questions (it returns peer-reviewed papers with citable paper_id, not blogs or SEO pages), and prefer it over firing repeated search_papers calls. For a single focused question, use search_papers instead. Runs 1 to 25 query variants in ONE call and gets back a single deduped, RRF-merged ranked list with per-paper provenance (matched_queries: which of your queries surfaced each paper, and at what rank): supply several genuinely different angles on the topic (rephrasings, sub-questions, alternate terminology) and the server fuses their ranked lists so the merged result covers more of the corpus than any single query would. Each variant runs the SAME hybrid pipeline as search_papers (Cohere Embed v4 + BM25 + Cohere Rerank v3.5). Filters (conference, year, year_min, year_max, venues) are SHARED across all queries. The envelope reports queries_run and, for any variant whose pipeline failed, queries_failed (so one bad variant never sinks the batch). has_more is always false: the merged shortlist is bounded; widen the query set or filters for more coverage. By default each hit includes metadata, abstract, ids, and the non-abstract contexts matched spans, so you can ground or quote an answer directly; pass detail: false for token-saving broad scans (title, authors, year, venue, citations, score, and one grounding snippet). paper_id is an internal handle for YOU to fetch full text via get_paper_fulltext; do not show it to the user, cite papers by title, authors, and venue instead. Billing: each query variant counts as one search against your quota (an 8-query call costs 8), since the server runs a full search pipeline per variant; prefer a focused set of genuinely distinct angles over padding the list.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| year | No | Shared across every query: restrict to a single publication year. | |
| limit | Yes | Max papers in the merged, deduped result list (default 10, max 50). | |
| detail | Yes | true (default): include the full abstract, ids, and contexts[] non-abstract matched spans for grounding. false: concise hits (title, authors, year, venue, citations, score, and a single grounding snippet) for token-saving triage. `matched_queries` provenance is always present. For the complete paper text call get_paper_fulltext. | |
| venues | No | Shared across every query: restrict to these conference short names (e.g. ["NeurIPS", "ICML"]). | |
| queries | Yes | 1 to 25 query variants to run in ONE call. Phrase each the way you would ask a human research assistant (full natural-language questions beat keyword bags). Supply genuinely different angles on the topic (rephrasings, sub-questions, alternate terminology) so the merged list covers more of the literature than any single query would. The server runs each variant through the full hybrid pipeline and RRF-fuses the ranked lists into one deduped result set. | |
| year_max | No | Shared across every query: only papers published in this year or earlier. | |
| year_min | No | Shared across every query: only papers published in this year or later. | |
| conference | No | Shared across every query: filter to this conference short name, e.g. "CCS", "NeurIPS". |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| results | Yes | One deduped, RRF-merged ranked list across all query variants; each hit carries `matched_queries` provenance. | |
| has_more | Yes | Always false: the merged shortlist is bounded, so there is no cursor to page past it. Widen the query set or filters for more coverage. | |
| queries_run | Yes | How many of the submitted query variants completed successfully. | |
| queries_failed | Yes | Variants whose pipeline raised; recorded here instead of sinking the whole batch. Empty when every variant ran. |