API Docs
Paper Search API
Search through academic papers with our powerful research API.
Search Papers
https://api.emergentmind.com/v1/papers/search
Search through arXiv papers using natural language queries with date filtering and result limits.
Authorization
Your API key for authentication. Get one from your API Keys dashboard.
Request Body
The search query string. Use natural language to describe what you're looking for.
Number of search results to return.
Only return papers published on or after this date. Must be in YYYY-MM-DD format.
Only return papers published on or before this date. Must be in YYYY-MM-DD format.
Response
Unique identifier for the request.
Array of paper objects matching the search query.
Result Object Properties:
arXiv ID for the paper
Title of the paper
Abstract of the paper
Publication date in ISO 8601 format
Example
Request
{ "query": "transformer attention mechanisms", "num_results": 5, "start_published_date": "2024-01-01", "end_published_date": "2024-12-31" }
Response
{ "request_id": "b5947044-c4b7-8efa-9552-a7c89b306d95", "results": [ { "id": "https://arxiv.org/abs/2301.12345", "title": "Attention Mechanisms in Transformers: A Comprehensive Survey", "abstract": "This paper provides a comprehensive survey of attention mechanisms used in transformer architectures...", "published_at": "2024-01-15T10:30:00.000Z" }, { "id": "https://arxiv.org/abs/2302.67890", "title": "Efficient Attention: Reducing Computational Complexity", "abstract": "We propose a novel approach to reduce the computational complexity of attention mechanisms...", "published_at": "2024-02-20T14:15:00.000Z" } ] }
Error Responses
{ "error": "query is missing", "request_id": "b5947044-c4b7-8efa-9552-a7c89b306d95" }
{ "error": "Invalid API key" }
{ "error": "An error occurred while processing your request", "request_id": "b5947044-c4b7-8efa-9552-a7c89b306d95" }
Rate Limits
Free Plan
25 requests total
Paid Plans
2500 requests per billing cycle
Code Examples
cURL
curl -X POST "https://api.emergentmind.com/v1/papers/search" \ -H "x-api-key: your_api_key_here" \ -H "Content-Type: application/json" \ -d '{ "query": "transformer attention mechanisms", "num_results": 10, "start_published_date": "2024-01-01" }'
Python
import requests url = "https://api.emergentmind.com/v1/papers/search" headers = { "x-api-key": "your_api_key_here", "Content-Type": "application/json" } data = { "query": "transformer attention mechanisms", "num_results": 10, "start_published_date": "2024-01-01" } response = requests.post(url, headers=headers, json=data) result = response.json() print(result)
JavaScript
const url = 'https://api.emergentmind.com/v1/papers/search'; const data = { query: 'transformer attention mechanisms', num_results: 10, start_published_date: '2024-01-01' }; const response = await fetch(url, { method: 'POST', headers: { 'x-api-key': 'your_api_key_here', 'Content-Type': 'application/json' }, body: JSON.stringify(data) }); const result = await response.json(); console.log(result);
Agno (Python Agent Framework)
import json import httpx from urllib.parse import urlencode from agno.agent import Agent def search_emergentmind(query: str, num_results: int = 10, start_published_date: str = None, end_published_date: str = None) -> str: """ Search for papers on Emergent Mind using the API. Args: query (str): Search query for papers. num_results (int): Number of papers to return. Defaults to 10. start_published_date (str, optional): Start date filter for published papers (YYYY-MM-DD format). end_published_date (str, optional): End date filter for published papers (YYYY-MM-DD format). Returns: dict: JSON response containing search results from Emergent Mind API. """ # Fetch papers using properly encoded URL parameters base_url = 'https://api.emergentmind.com/v1/papers/search' # Build parameters dictionary, filtering out None values params = { 'query': query, 'num_results': num_results, 'start_published_date': start_published_date, 'end_published_date': end_published_date } # Set a header for the request with the api key headers = { 'x-api-key': 'your_api_key_here', 'Content-Type': 'application/json' } response = httpx.post(base_url, json=params, headers=headers) # print(response.json()) return response.json() agent = Agent(tools=[search_emergentmind], show_tool_calls=True, markdown=True) agent.print_response("Get the papers about AI co-scientists published in 2025", stream=True)