openapi: 3.1.0 info: title: Exa Research API version: 2.0.0 description: Exa Research API - subset of the Exa Public API. servers: - url: https://api.exa.ai security: - apiKey: [] - bearer: [] paths: /research/v1: get: description: Get a paginated list of research requests operationId: ResearchController_listResearch parameters: - name: cursor required: false in: query description: The cursor to paginate through the results schema: minLength: 1 type: string - name: limit required: false in: query description: Number of results per page (1-50) schema: minimum: 1 maximum: 50 default: 10 type: number responses: '200': description: List of research requests content: application/json: schema: $ref: '#/components/schemas/ListResearchResponseDto' summary: List research requests tags: - Research x-codeSamples: - lang: bash label: List research tasks source: "curl -X GET 'https://api.exa.ai/research/v1?limit=10' \\\n -H 'x-api-key: YOUR-EXA-API-KEY'" - lang: python label: List research tasks source: '# pip install exa-py from exa_py import Exa exa = Exa(api_key=''YOUR_EXA_API_KEY'') tasks = exa.research.list_tasks(limit=10) print(tasks)' - lang: javascript label: List research tasks source: '// npm install exa-js import Exa from ''exa-js''; const exa = new Exa(''YOUR_EXA_API_KEY''); const tasks = await exa.research.listTasks({ limit: 10 }); console.log(tasks);' post: operationId: ResearchController_createResearch parameters: [] requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/ResearchCreateRequestDtoClass' responses: '201': description: Research request created content: application/json: schema: $ref: '#/components/schemas/ResearchDtoClass' summary: Create a new research request tags: - Research x-codeSamples: - lang: bash label: Create research task source: "curl -X POST 'https://api.exa.ai/research/v1' \\\n -H 'x-api-key: YOUR-EXA-API-KEY' \\\n -H 'Content-Type:\ \ application/json' \\\n -d '{\n \"instructions\": \"Summarize the latest developments in AI safety research\"\ ,\n \"model\": \"exa-research\"\n }'" - lang: python label: Create research task source: "# pip install exa-py\nfrom exa_py import Exa\nexa = Exa(api_key='YOUR_EXA_API_KEY')\n\ntask = exa.research.create_task(\n\ \ instructions=\"Summarize the latest developments in AI safety research\",\n model=\"exa-research\"\n)\n\n\ print(task)" - lang: javascript label: Create research task source: "// npm install exa-js\nimport Exa from 'exa-js';\nconst exa = new Exa('YOUR_EXA_API_KEY');\n\nconst task\ \ = await exa.research.createTask({\n instructions: \"Summarize the latest developments in AI safety research\"\ ,\n model: \"exa-research\"\n});\n\nconsole.log(task);" /research/v1/{researchId}: get: description: Retrieve research by ID. Add ?stream=true for real-time SSE updates. operationId: ResearchController_getResearch parameters: - name: researchId required: true in: path description: The unique identifier of the research request to retrieve schema: type: string - name: stream required: false in: query description: Set to "true" to receive real-time updates via Server-Sent Events (SSE) schema: type: string - name: events required: false in: query description: Set to "true" to include the detailed event log of all operations performed schema: type: string responses: '200': description: '' content: application/json: schema: $ref: '#/components/schemas/ResearchDtoClass' summary: Get a research request by id tags: - Research x-codeSamples: - lang: bash label: Get research task source: "curl -X GET 'https://api.exa.ai/research/v1/01jszdfs0052sg4jc552sg4jc5' \\\n -H 'x-api-key: YOUR-EXA-API-KEY'" - lang: bash label: Get research task with streaming source: "curl -X GET 'https://api.exa.ai/research/v1/01jszdfs0052sg4jc552sg4jc5?stream=true' \\\n -H 'x-api-key:\ \ YOUR-EXA-API-KEY'" - lang: python label: Get research task source: '# pip install exa-py from exa_py import Exa exa = Exa(api_key=''YOUR_EXA_API_KEY'') task = exa.research.get_task(''01jszdfs0052sg4jc552sg4jc5'') print(task)' - lang: javascript label: Get research task source: '// npm install exa-js import Exa from ''exa-js''; const exa = new Exa(''YOUR_EXA_API_KEY''); const task = await exa.research.getTask(''01jszdfs0052sg4jc552sg4jc5''); console.log(task);' components: schemas: ListResearchResponseDto: type: - object properties: data: type: - array items: discriminator: propertyName: status examples: - researchId: 01jszdfs0052sg4jc552sg4jc5 model: exa-research instructions: What species of ant are similar to honeypot ants? status: running - researchId: 01jszdfs0052sg4jc552sg4jc5 model: exa-research instructions: What species of ant are similar to honeypot ants? status: completed output: Melophorus bagoti $ref: '#/components/schemas/ResearchDtoClass' description: Research requests ordered by creation time (newest first) hasMore: type: - boolean description: If true, use nextCursor to fetch more results nextCursor: type: - string - 'null' description: Pass this value as the cursor parameter to fetch the next page required: - data - hasMore - nextCursor ResearchCreateRequestDtoClass: type: - object properties: model: default: exa-research type: - string enum: - exa-research-fast - exa-research - exa-research-pro description: Research model to use. exa-research is faster and cheaper, while exa-research-pro provides more thorough analysis and stronger reasoning. instructions: type: - string maxLength: 50000 description: Instructions for what you would like research on. A good prompt clearly defines what information you want to find, how research should be conducted, and what the output should look like. outputSchema: type: - object additionalProperties: {} description: JSON Schema to enforce structured output. When provided, the research output will be validated against this schema and returned as parsed JSON. required: - instructions examples: - model: exa-research instructions: What species of ant are similar to honeypot ants? ResearchDtoClass: discriminator: propertyName: status oneOf: - type: - object properties: researchId: type: - string description: Unique identifier for tracking and retrieving this research request createdAt: type: - number description: When the research was created (Unix timestamp in milliseconds) model: default: exa-research type: - string enum: - exa-research-fast - exa-research - exa-research-pro description: The model used for this research request instructions: type: - string description: The original research instructions provided outputSchema: type: - object additionalProperties: {} description: The JSON Schema used to validate the output, if provided status: type: - string enum: - pending required: - researchId - createdAt - instructions - status title: Pending - type: - object properties: researchId: type: - string description: Unique identifier for tracking and retrieving this research request createdAt: type: - number description: When the research was created (Unix timestamp in milliseconds) model: default: exa-research type: - string enum: - exa-research-fast - exa-research - exa-research-pro description: The model used for this research request instructions: type: - string description: The original research instructions provided outputSchema: type: - object additionalProperties: {} description: The JSON Schema used to validate the output, if provided status: type: - string enum: - running events: type: - array items: $ref: '#/components/schemas/ResearchEventDtoClass' description: Real-time log of operations as research progresses. Poll this endpoint or use ?stream=true for live updates. required: - researchId - createdAt - instructions - status title: Running - type: - object properties: researchId: type: - string description: Unique identifier for tracking and retrieving this research request createdAt: type: - number description: When the research was created (Unix timestamp in milliseconds) model: default: exa-research type: - string enum: - exa-research-fast - exa-research - exa-research-pro description: The model used for this research request instructions: type: - string description: The original research instructions provided outputSchema: type: - object additionalProperties: {} description: The JSON Schema used to validate the output, if provided status: type: - string enum: - completed events: type: - array items: $ref: '#/components/schemas/ResearchEventDtoClass' description: Detailed log of all operations performed during research. Use ?events=true to include this field for debugging or monitoring progress. output: type: - object properties: content: type: - string description: The complete research output as text. If outputSchema was provided, this is a JSON string. parsed: type: - object additionalProperties: {} description: Structured JSON object matching your outputSchema. Only present when outputSchema was provided and the output successfully validated. required: - content description: The final research results, containing both raw text and parsed JSON if outputSchema was provided citations: type: - array items: type: - object properties: id: type: - string url: type: - string publishedDate: type: - string author: type: - string - 'null' score: type: - number text: type: - string highlights: type: - array items: type: - string highlightScores: type: - array items: type: - number summary: type: - string links: type: - array items: type: - object properties: url: type: - string text: type: - string required: - url - text subpages: type: - array items: type: - object properties: id: type: - string title: type: - string url: type: - string publishedDate: type: - string author: type: - string - 'null' text: type: - string favicon: type: - string required: - id - title - url image: type: - string - 'null' description: URL of the image associated with the result favicon: type: - string - 'null' description: URL of the favicon associated with the result description: type: - string subtitle: type: - string snippet: type: - string profile: discriminator: propertyName: type oneOf: - type: - object properties: type: type: - string enum: - linkedin_company content: type: - object properties: name: type: - string url: type: - string slogan: type: - string about_us: type: - string founded_year: type: - number funding: type: - object properties: number_of_rounds: type: - string price: type: - string last_round_date: type: - string last_round_stage: type: - string website: type: - string categories: type: - array items: type: - string industry: type: - string image_url: type: - string cover_image_url: type: - string employees_num: type: - number followers_num: type: - number company_size: type: - string company_type: type: - string affiliated_companies: type: - array - 'null' items: type: - object properties: company_name: type: - string industry: type: - string social_url: type: - string image_url: type: - string headquarters: type: - string country_code: type: - string locations: type: - array items: type: - object properties: address: type: - string - 'null' address_2: type: - string - 'null' primary: type: - boolean required: - primary specialties: type: - array items: type: - string crunchbase_url: type: - string stock_symbol: type: - string meta_data: type: - object properties: last_changed: type: - string schema_version: type: - string profile_id: type: - string required: - schema_version - profile_id required: - name - url - meta_data required: - type - content - type: - object properties: type: type: - string enum: - company content: oneOf: - type: - object properties: url: type: - string linkedin_url: type: - string version: default: 1-complete type: - string enum: - 1-complete identity: type: - object properties: name: type: - string legal_name: type: - string - 'null' aliases: type: - array - 'null' items: type: - string ids: type: - object - 'null' properties: coresignal: type: - string - 'null' linkedin: type: - string - 'null' crunchbase: type: - string - 'null' pitchbook: type: - string - 'null' tickers: type: - array - 'null' items: type: - object properties: symbol: type: - string exchange: type: - string - 'null' required: - symbol required: - name classification: type: - object - 'null' properties: industry: type: - string - 'null' industries: type: - array - 'null' items: type: - string categories: type: - array - 'null' items: type: - string keywords: type: - array - 'null' items: type: - string sic_codes: type: - array - 'null' items: type: - string naics_codes: type: - array - 'null' items: type: - string is_b2b: type: - boolean - 'null' is_public: type: - boolean - 'null' company_type: type: - string - 'null' locations: type: - object - 'null' properties: headquarters: type: - object - 'null' properties: address: type: - string - 'null' city: type: - string - 'null' state: type: - string - 'null' country: type: - string - 'null' country_code: type: - string - 'null' postal_code: type: - string - 'null' is_hq: type: - boolean - 'null' offices: type: - array - 'null' items: type: - object properties: address: type: - string - 'null' city: type: - string - 'null' state: type: - string - 'null' country: type: - string - 'null' country_code: type: - string - 'null' postal_code: type: - string - 'null' is_hq: type: - boolean - 'null' hq_city: type: - string - 'null' hq_country: type: - string - 'null' regions: type: - array - 'null' items: type: - string profiles: type: - object - 'null' properties: website: type: - string - 'null' website_aliases: type: - array - 'null' items: type: - string social: type: - array - 'null' items: type: - object properties: platform: type: - string url: type: - string - 'null' followers: type: - number - 'null' required: - platform crunchbase_url: type: - string - 'null' bloomberg_url: type: - string - 'null' pitchbook_url: type: - string - 'null' glassdoor_url: type: - string - 'null' indeed_url: type: - string - 'null' logo_url: type: - string - 'null' logo_base64: type: - string - 'null' contact: type: - object - 'null' properties: emails: type: - array - 'null' items: type: - string phone_numbers: type: - array - 'null' items: type: - string updates: type: - array - 'null' items: type: - object properties: followers: type: - number - 'null' date: type: - string - 'null' description: type: - string - 'null' reactions_count: type: - number - 'null' comments_count: type: - number - 'null' reshared_post_author: type: - string - 'null' reshared_post_author_url: type: - string - 'null' reshared_post_author_headline: type: - string - 'null' reshared_post_description: type: - string - 'null' reshared_post_date: type: - string - 'null' reshared_post_followers: type: - number - 'null' provenance: type: - object - 'null' properties: sources: type: - array items: type: - string primary_source: type: - string collected_at: type: - number updated_at: type: - number - 'null' completeness: type: - number - 'null' confidence: type: - object - 'null' additionalProperties: type: - number is_verified: type: - boolean - 'null' is_active: type: - boolean - 'null' required: - sources - primary_source - collected_at basics: type: - object - 'null' properties: description: type: - string - 'null' description_enriched: type: - string - 'null' slogan: type: - string - 'null' founded_year: type: - number - 'null' status: type: - string - 'null' ownership_status: type: - string - 'null' parent_company_name: type: - string - 'null' parent_company_website: type: - string - 'null' last_changed: type: - string - 'null' workforce: type: - object - 'null' properties: total_count: type: - number - 'null' total_count_inferred: type: - number - 'null' size_range: type: - string - 'null' data_source: type: - string - 'null' by_department: type: - object - 'null' additionalProperties: type: - number by_seniority: type: - object - 'null' additionalProperties: type: - number by_location: type: - object - 'null' additionalProperties: type: - number by_country: type: - object - 'null' additionalProperties: type: - number by_seniority_monthly: type: - array - 'null' items: type: - object properties: breakdown: type: - object additionalProperties: type: - number date: type: - string - 'null' date_from: type: - string - 'null' date_to: type: - string - 'null' required: - breakdown by_department_monthly: type: - array - 'null' items: type: - object properties: breakdown: type: - object additionalProperties: type: - number date: type: - string - 'null' date_from: type: - string - 'null' date_to: type: - string - 'null' required: - breakdown by_region_monthly: type: - array - 'null' items: type: - object properties: breakdown: type: - object additionalProperties: type: - number date: type: - string - 'null' date_from: type: - string - 'null' date_to: type: - string - 'null' required: - breakdown by_country_monthly: type: - array - 'null' items: type: - object properties: breakdown: type: - object additionalProperties: type: - number date: type: - string - 'null' date_from: type: - string - 'null' date_to: type: - string - 'null' required: - breakdown executives: type: - array - 'null' items: type: - object properties: name: type: - string - 'null' title: type: - string - 'null' start_date: type: - string - 'null' end_date: type: - string - 'null' is_current: type: - boolean - 'null' executive_id: type: - string - 'null' recent_hires: type: - array - 'null' items: type: - object properties: name: type: - string - 'null' title: type: - string - 'null' start_date: type: - string - 'null' end_date: type: - string - 'null' is_current: type: - boolean - 'null' executive_id: type: - string - 'null' recent_departures: type: - array - 'null' items: type: - object properties: name: type: - string - 'null' title: type: - string - 'null' start_date: type: - string - 'null' end_date: type: - string - 'null' is_current: type: - boolean - 'null' executive_id: type: - string - 'null' top_previous_companies: type: - array - 'null' items: type: - object properties: count: type: - number company_name: type: - string - 'null' company_id: type: - string - 'null' required: - count top_next_companies: type: - array - 'null' items: type: - object properties: count: type: - number company_name: type: - string - 'null' company_id: type: - string - 'null' required: - count active_job_postings_count: type: - number - 'null' active_job_postings: type: - array - 'null' items: type: - object properties: title: type: - string job_id: type: - string - 'null' required: - title active_job_postings_history: type: - array - 'null' items: type: - object properties: value: type: - number date_from: type: - string date_to: type: - string required: - value - date_from - date_to active_job_postings_growth: type: - object - 'null' properties: current: type: - number monthly: type: - number - 'null' monthly_pct: type: - number - 'null' quarterly: type: - number - 'null' quarterly_pct: type: - number - 'null' yearly: type: - number - 'null' yearly_pct: type: - number - 'null' required: - current salary_ranges: type: - array - 'null' items: type: - object properties: title: type: - string percentile_25: type: - number - 'null' median: type: - number - 'null' percentile_75: type: - number - 'null' currency: type: - string - 'null' pay_period: type: - string - 'null' updated_at: type: - string - 'null' required: - title growth: type: - object - 'null' properties: current: type: - number monthly: type: - number - 'null' monthly_pct: type: - number - 'null' quarterly: type: - number - 'null' quarterly_pct: type: - number - 'null' yearly: type: - number - 'null' yearly_pct: type: - number - 'null' required: - current history: type: - array - 'null' items: type: - object properties: value: type: - number date_from: type: - string date_to: type: - string required: - value - date_from - date_to financials: type: - object - 'null' properties: revenue_annual: type: - object - 'null' properties: value: type: - number currency: default: USD type: - string required: - value revenue_range: type: - object - 'null' properties: min: type: - number - 'null' max: type: - number - 'null' currency: type: - string required: - min - max - currency revenue_growth: type: - object - 'null' properties: current: type: - number monthly: type: - number - 'null' monthly_pct: type: - number - 'null' quarterly: type: - number - 'null' quarterly_pct: type: - number - 'null' yearly: type: - number - 'null' yearly_pct: type: - number - 'null' required: - current profitable: type: - boolean - 'null' income_statements: type: - array - 'null' items: type: - object properties: period: type: - string end_date: type: - string revenue: type: - number - 'null' gross_profit: type: - number - 'null' operating_income: type: - number - 'null' net_income: type: - number - 'null' ebitda: type: - number - 'null' eps: type: - number - 'null' gross_margin: type: - number - 'null' operating_margin: type: - number - 'null' net_margin: type: - number - 'null' currency: type: - string - 'null' required: - period - end_date ipo_date: type: - string - 'null' market_cap: type: - object - 'null' properties: value: type: - number currency: default: USD type: - string required: - value stock_price: type: - object - 'null' properties: value: type: - number currency: default: USD type: - string required: - value stock_history: type: - array - 'null' items: type: - object properties: value: type: - number date_from: type: - string date_to: type: - string required: - value - date_from - date_to total_funding: type: - object - 'null' properties: value: type: - number currency: default: USD type: - string required: - value funding_rounds: type: - array - 'null' items: type: - object properties: name: type: - string - 'null' date: type: - string - 'null' amount: type: - object - 'null' properties: value: type: - number currency: default: USD type: - string required: - value valuation: type: - object - 'null' properties: value: type: - number currency: default: USD type: - string required: - value investors: type: - array - 'null' items: type: - string num_investors: type: - number - 'null' last_round: type: - object - 'null' properties: name: type: - string - 'null' date: type: - string - 'null' amount: type: - object - 'null' properties: value: type: - number currency: default: USD type: - string required: - value valuation: type: - object - 'null' properties: value: type: - number currency: default: USD type: - string required: - value investors: type: - array - 'null' items: type: - string num_investors: type: - number - 'null' acquisitions: type: - object - 'null' properties: acquired_by: type: - object - 'null' properties: company_name: type: - string date: type: - string - 'null' amount: type: - object - 'null' properties: value: type: - number currency: default: USD type: - string required: - value deal_type: type: - string - 'null' required: - company_name acquisitions: type: - array - 'null' items: type: - object properties: company_name: type: - string date: type: - string - 'null' amount: type: - object - 'null' properties: value: type: - number currency: default: USD type: - string required: - value deal_type: type: - string - 'null' required: - company_name investments: type: - array - 'null' items: type: - object properties: company_name: type: - string date: type: - string - 'null' amount: type: - object - 'null' properties: value: type: - number currency: default: USD type: - string required: - value deal_type: type: - string - 'null' required: - company_name total_acquisitions: type: - number - 'null' total_invested: type: - object - 'null' properties: value: type: - number currency: default: USD type: - string required: - value market: type: - object - 'null' properties: competitors: type: - array - 'null' items: type: - object properties: name: type: - string website: type: - string - 'null' similarity_score: type: - number - 'null' employees: type: - number - 'null' revenue: type: - object - 'null' properties: value: type: - number currency: default: USD type: - string required: - value required: - name market_share: type: - number - 'null' global_rank: type: - number - 'null' industry_rank: type: - number - 'null' country_rank: type: - number - 'null' products: type: - object - 'null' properties: products: type: - array - 'null' items: type: - object properties: name: type: - string description: type: - string - 'null' category: type: - string - 'null' pricing: type: - array - 'null' items: type: - object properties: type: type: - string - 'null' price: type: - string - 'null' details: type: - string - 'null' required: - name has_free_trial: type: - boolean - 'null' has_free_plan: type: - boolean - 'null' has_demo: type: - boolean - 'null' has_api: type: - boolean - 'null' has_mobile_app: type: - boolean - 'null' pricing_available: type: - boolean - 'null' tech_stack: type: - array - 'null' items: type: - string technologies: type: - array - 'null' items: type: - object properties: name: type: - string category: type: - string - 'null' first_seen: type: - string - 'null' last_seen: type: - string - 'null' required: - name tech_categories: type: - object - 'null' additionalProperties: type: - array items: type: - string customers: type: - object - 'null' properties: customer_count: type: - number - 'null' customer_segments: type: - array - 'null' items: type: - string product_reviews: type: - object - 'null' properties: count: type: - number - 'null' average_score: type: - number - 'null' max_score: type: - number - 'null' distribution: type: - object - 'null' properties: score_1: type: - number - 'null' score_2: type: - number - 'null' score_3: type: - number - 'null' score_4: type: - number - 'null' score_5: type: - number - 'null' categories: type: - object - 'null' additionalProperties: type: - number trend: type: - object - 'null' properties: current: type: - number monthly: type: - number - 'null' monthly_pct: type: - number - 'null' quarterly: type: - number - 'null' quarterly_pct: type: - number - 'null' yearly: type: - number - 'null' yearly_pct: type: - number - 'null' required: - current employer_reviews: type: - object - 'null' properties: count: type: - number - 'null' average_score: type: - number - 'null' max_score: type: - number - 'null' distribution: type: - object - 'null' properties: score_1: type: - number - 'null' score_2: type: - number - 'null' score_3: type: - number - 'null' score_4: type: - number - 'null' score_5: type: - number - 'null' categories: type: - object - 'null' additionalProperties: type: - number trend: type: - object - 'null' properties: current: type: - number monthly: type: - number - 'null' monthly_pct: type: - number - 'null' quarterly: type: - number - 'null' quarterly_pct: type: - number - 'null' yearly: type: - number - 'null' yearly_pct: type: - number - 'null' required: - current employer_review_breakdown: type: - object - 'null' properties: business_outlook: type: - number - 'null' career_opportunities: type: - number - 'null' ceo_approval: type: - number - 'null' compensation_benefits: type: - number - 'null' culture_values: type: - number - 'null' diversity_inclusion: type: - number - 'null' recommend: type: - number - 'null' senior_management: type: - number - 'null' work_life_balance: type: - number - 'null' nps_score: type: - number - 'null' web_traffic: type: - object - 'null' properties: visits_monthly: type: - number - 'null' unique_visitors: type: - number - 'null' global_rank: type: - number - 'null' country_rank: type: - number - 'null' category_rank: type: - number - 'null' bounce_rate: type: - number - 'null' pages_per_visit: type: - number - 'null' avg_duration_seconds: type: - number - 'null' traffic_sources: type: - object - 'null' additionalProperties: type: - number geo_distribution: type: - object - 'null' additionalProperties: type: - number age_distribution: type: - object - 'null' properties: age_18_24: type: - number - 'null' age_25_34: type: - number - 'null' age_35_44: type: - number - 'null' age_45_54: type: - number - 'null' age_55_64: type: - number - 'null' age_65_plus: type: - number - 'null' gender_distribution: type: - object - 'null' properties: male: type: - number - 'null' female: type: - number - 'null' similar_websites: type: - array - 'null' items: type: - string top_keywords: type: - array - 'null' items: type: - string growth: type: - object - 'null' properties: current: type: - number monthly: type: - number - 'null' monthly_pct: type: - number - 'null' quarterly: type: - number - 'null' quarterly_pct: type: - number - 'null' yearly: type: - number - 'null' yearly_pct: type: - number - 'null' required: - current history: type: - array - 'null' items: type: - object properties: value: type: - number date_from: type: - string date_to: type: - string required: - value - date_from - date_to news_activity: type: - object - 'null' properties: news: type: - array - 'null' items: type: - object properties: headline: type: - string date: type: - string summary: type: - string - 'null' url: type: - string - 'null' source: type: - string - 'null' sentiment: type: - string - 'null' required: - headline - date press_releases: type: - array - 'null' items: type: - object properties: headline: type: - string date: type: - string summary: type: - string - 'null' url: type: - string - 'null' source: type: - string - 'null' sentiment: type: - string - 'null' required: - headline - date social_posts: type: - array - 'null' items: type: - object additionalProperties: {} events: type: - array - 'null' items: type: - object additionalProperties: {} xverum: type: - object - 'null' properties: company_id: type: - number - 'null' profile_id: type: - string - 'null' social_followers: type: - number - 'null' image_url: type: - string - 'null' cover_image_url: type: - string - 'null' schema_version: type: - string - 'null' updated_month: type: - string - 'null' required: - url - linkedin_url - identity - type: - object properties: url: type: - string linkedin_url: type: - string - 'null' version: default: 1-reduced type: - string enum: - 1-reduced identity: type: - object properties: name: type: - string required: - name classification: type: - object - 'null' properties: industry: type: - string - 'null' is_b2b: type: - boolean - 'null' is_public: type: - boolean - 'null' basics: type: - object - 'null' properties: description: type: - string - 'null' description_enriched: type: - string - 'null' slogan: type: - string - 'null' founded_year: type: - number - 'null' status: type: - string - 'null' last_changed: type: - string - 'null' locations: type: - object - 'null' properties: hq_city: type: - string - 'null' hq_country: type: - string - 'null' headquarters: type: - object - 'null' properties: address: type: - string - 'null' city: type: - string - 'null' state: type: - string - 'null' country: type: - string - 'null' country_code: type: - string - 'null' postal_code: type: - string - 'null' is_hq: type: - boolean - 'null' profiles: type: - object - 'null' properties: website: type: - string - 'null' website_aliases: type: - array - 'null' items: type: - string social: type: - array - 'null' items: type: - object properties: platform: type: - string url: type: - string - 'null' followers: type: - number - 'null' required: - platform logo_url: type: - string - 'null' logo_base64: type: - string - 'null' workforce: type: - object - 'null' properties: total_count: type: - number - 'null' total_count_inferred: type: - number - 'null' growth: type: - object - 'null' properties: current: type: - number monthly: type: - number - 'null' monthly_pct: type: - number - 'null' quarterly: type: - number - 'null' quarterly_pct: type: - number - 'null' yearly: type: - number - 'null' yearly_pct: type: - number - 'null' required: - current size_range: type: - string - 'null' financials: type: - object - 'null' properties: revenue_annual: type: - object - 'null' properties: value: type: - number currency: default: USD type: - string required: - value revenue_range: type: - object - 'null' properties: min: type: - number - 'null' max: type: - number - 'null' currency: type: - string required: - min - max - currency revenue_growth: type: - object - 'null' properties: current: type: - number monthly: type: - number - 'null' monthly_pct: type: - number - 'null' quarterly: type: - number - 'null' quarterly_pct: type: - number - 'null' yearly: type: - number - 'null' yearly_pct: type: - number - 'null' required: - current total_funding: type: - object - 'null' properties: value: type: - number currency: default: USD type: - string required: - value last_round: type: - object - 'null' properties: name: type: - string - 'null' date: type: - string - 'null' amount: type: - object - 'null' properties: value: type: - number currency: default: USD type: - string required: - value valuation: type: - object - 'null' properties: value: type: - number currency: default: USD type: - string required: - value investors: type: - array - 'null' items: type: - string num_investors: type: - number - 'null' market_cap: type: - object - 'null' properties: value: type: - number currency: default: USD type: - string required: - value acquisitions: type: - string - 'null' enum: - 'null' ipo_date: type: - string - 'null' enum: - 'null' funding_rounds: type: - string - 'null' enum: - 'null' web_traffic: type: - object - 'null' properties: visits_monthly: type: - number - 'null' unique_visitors: type: - number - 'null' news_activity: type: - string - 'null' enum: - 'null' metadata: type: - object - 'null' properties: collected_at: type: - number primary_source: type: - string updated_at: type: - number - 'null' required: - collected_at - primary_source required: - url - identity required: - type - content - type: - object properties: type: type: - string enum: - linkedin_person content: type: - object properties: url: type: - string full_name: type: - string first_name: type: - string last_name: type: - string position: type: - string location: type: - string country_code: type: - string about_me: type: - string connections: type: - number followers: type: - string image_url: type: - string cover_image_url: type: - string websites: type: - array items: type: - object properties: url: type: - string title: type: - string required: - url experience: type: - array items: type: - object properties: company_name: type: - string location: type: - string position: type: - string job_description: type: - string start_time: type: - string end_time: type: - string duration: type: - string start_timestamp: type: - number end_timestamp: type: - number duration_months: type: - number linkedin_url: type: - string image_url: type: - string estimated_start_time: type: - string education: type: - array items: type: - object properties: institution_name: type: - string description: type: - string degree: type: - array items: type: - string start_time: type: - string end_time: type: - string duration: type: - string start_timestamp: type: - number end_timestamp: type: - number duration_months: type: - number linkedin_url: type: - string image_url: type: - string certifications: type: - array items: type: - object properties: certification_name: type: - string institution_name: type: - string credential_id: type: - string time: type: - string expiration: type: - string patents: type: - array items: type: - object properties: title: type: - string legal: type: - string summary: type: - string contributors: type: - array items: type: - object properties: contributor_name: type: - string contributor_url: type: - string image_url: type: - string url: type: - string awards: type: - array items: type: - string volunteering: type: - array items: type: - object properties: position: type: - string institution_name: type: - string cause: type: - string job_description: type: - string start_time: type: - string end_time: type: - string duration: type: - string linkedin_url: type: - string image_url: type: - string projects: type: - array items: type: - object properties: title: type: - string description: type: - string contributors: type: - array items: type: - string start_time: type: - string end_time: type: - string duration: type: - string project_url: type: - string image_url: type: - string languages: type: - array items: type: - object properties: language: type: - string proficiency: type: - string publications: type: - array items: type: - object properties: title: type: - string published: type: - string summary: type: - string url: type: - string recommendations: type: - array items: type: - string social_activities: type: - array items: type: - object properties: title: type: - string attribution: type: - string social_url: type: - string image_url: type: - string courses: type: - array items: type: - string social_groups: type: - array items: type: - object properties: group_name: type: - string social_url: type: - string image_url: type: - string meta_data: type: - object properties: last_changed: type: - string schema_version: type: - string profile_id: type: - string required: - profile_id required: - url - full_name - websites - experience - education - certifications - meta_data required: - type - content - type: - object properties: type: type: - string enum: - person content: type: - object properties: canonical_url: type: - string publish_timestamp: type: - string format: date-time cs_metadata: type: - object properties: id: type: - number parent_id: type: - number created_at: type: - string format: date-time updated_at: type: - string format: date-time checked_at: type: - string format: date-time changed_at: type: - string format: date-time experience_change_last_identified_at: type: - string format: date-time is_deleted: type: - boolean is_parent: type: - boolean full_name: type: - string first_name: type: - string middle_name: type: - string last_name: type: - string linkedin_url: type: - string linkedin_shorthand_names: type: - array items: type: - string historical_ids: type: - array items: type: - number headline: type: - string summary: type: - string picture_url: type: - string location: type: - object properties: country: type: - string country_iso2: type: - string country_iso3: type: - string full: type: - string regions: type: - array items: type: - string interests: type: - array items: type: - string inferred_skills: type: - array items: type: - string connections_count: type: - number followers_count: type: - number services: type: - string contact: type: - object properties: primary_email: type: - string primary_email_status: type: - string enum: - verified - matched_email - matched_pattern - guessed_common_pattern emails: type: - array items: type: - object properties: email: type: - string status: type: - string enum: - verified - matched_email - matched_pattern - guessed_common_pattern order_of_priority: type: - number experience: type: - object properties: is_working: type: - boolean is_decision_maker: type: - boolean active: type: - object properties: company_id: type: - number title: type: - string description: type: - string department: type: - string management_level: type: - string date_from: type: - string format: date-time date_to: type: - string format: date-time duration_months: type: - number total_duration_months: type: - number duration_by_department: type: - array items: type: - object properties: department: type: - string months: type: - number duration_by_management_level: type: - array items: type: - object properties: management_level: type: - string months: type: - number history: type: - array items: type: - object properties: is_active: type: - boolean position_title: type: - string description: type: - string department: type: - string management_level: type: - string location: type: - string date_from: type: - string format: date-time date_to: type: - string format: date-time duration_months: type: - number company: type: - object properties: id: type: - number name: type: - string type: type: - string founded_year: type: - number followers_count: type: - number website: type: - string linkedin_url: type: - string facebook_urls: type: - array items: type: - string twitter_urls: type: - array items: type: - string size_range: type: - string employees_count: type: - number employees_count_change_yearly_percentage: type: - number industry: type: - string categories_and_keywords: type: - array items: type: - string revenue_source_1: type: - object properties: amount: type: - number currency: type: - string revenue_source_5: type: - object properties: amount: type: - number currency: type: - string last_funding: type: - object properties: date: type: - string format: date-time amount_raised: type: - number headquarters: type: - object properties: full_address: type: - string country: type: - string country_iso2: type: - string country_iso3: type: - string regions: type: - array items: type: - string city: type: - string state: type: - string street: type: - string zipcode: type: - string stock_tickers: type: - array items: type: - object properties: exchange: type: - string ticker: type: - string is_b2b: type: - boolean last_updated_at: type: - string format: date-time order_in_profile: type: - number salary: type: - object properties: base: type: - object properties: p25: type: - number median: type: - number p75: type: - number period: type: - string currency: type: - string updated_at: type: - string format: date-time additional: type: - object properties: items: type: - array items: type: - object properties: type: type: - string p25: type: - number median: type: - number p75: type: - number period: type: - string currency: type: - string updated_at: type: - string format: date-time total: type: - object properties: p25: type: - number median: type: - number p75: type: - number period: type: - string currency: type: - string updated_at: type: - string format: date-time education: type: - object properties: last_graduation_year: type: - number degrees: type: - array items: type: - string history: type: - array items: type: - object properties: degree: type: - string description: type: - string institution_url: type: - string institution_name: type: - string institution_location: type: - object properties: full_address: type: - string country_iso2: type: - string country_iso3: type: - string regions: type: - array items: type: - string city: type: - string state: type: - string street: type: - string zipcode: type: - string date_from_year: type: - number date_to_year: type: - number activities_and_societies: type: - string order_in_profile: type: - number recommendations_count: type: - number recommendations: type: - array items: type: - object properties: recommendation: type: - string referee_full_name: type: - string referee_url: type: - string order_in_profile: type: - number activity: type: - array items: type: - object properties: activity_url: type: - string title: type: - string action: type: - string order_in_profile: type: - number awards: type: - array items: type: - object properties: title: type: - string issuer: type: - string description: type: - string date: type: - string format: date-time order_in_profile: type: - number courses: type: - array items: type: - object properties: organizer: type: - string title: type: - string order_in_profile: type: - number certifications: type: - array items: type: - object properties: title: type: - string issuer: type: - string issuer_url: type: - string credential_id: type: - string certificate_url: type: - string date_from: type: - string format: date-time date_to: type: - string format: date-time order_in_profile: type: - number languages: type: - array items: type: - object properties: language: type: - string proficiency: type: - string order_in_profile: type: - number patents_count: type: - number patents_topics: type: - array items: type: - string patents: type: - array items: type: - object properties: title: type: - string status: type: - string description: type: - string patent_url: type: - string date: type: - string format: date-time patent_number: type: - string order_in_profile: type: - number publications_count: type: - number publications_topics: type: - array items: type: - string publications: type: - array items: type: - object properties: title: type: - string description: type: - string publication_url: type: - string publisher_names: type: - array items: type: - string date: type: - string format: date-time order_in_profile: type: - number projects_count: type: - number projects_topics: type: - array items: type: - string projects: type: - array items: type: - object properties: name: type: - string description: type: - string project_url: type: - string date_from: type: - string format: date-time date_to: type: - string format: date-time order_in_profile: type: - number organizations: type: - array items: type: - object properties: organization_name: type: - string position: type: - string description: type: - string date_from: type: - string format: date-time date_to: type: - string format: date-time order_in_profile: type: - number github: type: - object properties: url: type: - string username: type: - string mapping_confidence: type: - number contributions_count: type: - number repos_summary: type: - array items: type: - object properties: name: type: - string summary: type: - string stars: type: - number contributions_count: type: - number profile_root_field_changes_summary: type: - array items: type: - object properties: field_name: type: - string change_type: type: - string last_changed_at: type: - string format: date-time profile_collection_field_changes_summary: type: - array items: type: - object properties: field_name: type: - string last_changed_at: type: - string format: date-time experience_recently_started: type: - array items: type: - object properties: company_id: type: - number company_name: type: - string company_url: type: - string company_shorthand_name: type: - string date_from: type: - string format: date-time date_to: type: - string format: date-time title: type: - string identification_date: type: - string format: date-time experience_recently_closed: type: - array items: type: - object properties: company_id: type: - number company_name: type: - string company_url: type: - string company_shorthand_name: type: - string date_from: type: - string format: date-time date_to: type: - string format: date-time title: type: - string identification_date: type: - string format: date-time version: default: '1' type: - string enum: - '1' required: - canonical_url - publish_timestamp required: - type - content description: The profile related to the search result category: type: - string enum: - company - research paper - news - github - tweet - movie - song - personal site - pdf - people - financial report - linkedin profile source: type: - string enum: - keyword-knowledge-graph - keyword-organic - keyword-organic-serp - neural - zilliz - user - contents - coresignal title: type: - string required: - id - url - title description: Citation from research sources description: URLs cited during research, sorted by frequency of appearance costDollars: type: - object properties: total: type: - number description: Total cost in USD for this research request numSearches: type: - number description: Count of web searches performed. Each search query counts as one search. numPages: type: - number description: Count of web pages fully crawled and processed. Only pages that were read in detail are counted. reasoningTokens: type: - number description: Total AI tokens used for reasoning, planning, and generating the final output required: - total - numSearches - numPages - reasoningTokens description: Detailed cost breakdown for billing purposes finishedAt: type: - number description: When the research completed (Unix timestamp in milliseconds) required: - researchId - createdAt - instructions - status - output - citations - costDollars - finishedAt title: Completed - type: - object properties: researchId: type: - string description: Unique identifier for tracking and retrieving this research request createdAt: type: - number description: When the research was created (Unix timestamp in milliseconds) model: default: exa-research type: - string enum: - exa-research-fast - exa-research - exa-research-pro description: The model used for this research request instructions: type: - string description: The original research instructions provided outputSchema: type: - object additionalProperties: {} description: The JSON Schema used to validate the output, if provided status: type: - string enum: - canceled events: type: - array items: $ref: '#/components/schemas/ResearchEventDtoClass' description: Detailed log of all operations performed during research. Use ?events=true to include this field for debugging or monitoring progress. finishedAt: type: - number description: When the research was canceled (Unix timestamp in milliseconds) required: - researchId - createdAt - instructions - status - finishedAt title: Canceled - type: - object properties: researchId: type: - string description: Unique identifier for tracking and retrieving this research request createdAt: type: - number description: When the research was created (Unix timestamp in milliseconds) model: default: exa-research type: - string enum: - exa-research-fast - exa-research - exa-research-pro description: The model used for this research request instructions: type: - string description: The original research instructions provided outputSchema: type: - object additionalProperties: {} description: The JSON Schema used to validate the output, if provided status: type: - string enum: - failed events: type: - array items: $ref: '#/components/schemas/ResearchEventDtoClass' description: Detailed log of all operations performed during research. Use ?events=true to include this field for debugging or monitoring progress. error: type: - string description: Human-readable error message explaining what went wrong. finishedAt: type: - number description: When the research failed (Unix timestamp in milliseconds) required: - researchId - createdAt - instructions - status - error - finishedAt title: Failed examples: - researchId: 01jszdfs0052sg4jc552sg4jc5 model: exa-research instructions: What species of ant are similar to honeypot ants? status: running - researchId: 01jszdfs0052sg4jc552sg4jc5 model: exa-research instructions: What species of ant are similar to honeypot ants? status: completed output: Melophorus bagoti ResearchEventDtoClass: oneOf: - discriminator: propertyName: eventType oneOf: - type: - object properties: eventType: type: - string enum: - research-definition instructions: type: - string description: The complete research instructions as provided outputSchema: type: - object additionalProperties: {} description: The JSON Schema that will validate the final output createdAt: type: - number description: When this event occurred (Unix timestamp in milliseconds) researchId: type: - string description: The research request this event belongs to required: - eventType - instructions - createdAt - researchId title: Research Definition - type: - object properties: eventType: type: - string enum: - research-output output: discriminator: propertyName: outputType oneOf: - type: - object properties: outputType: type: - string enum: - completed costDollars: type: - object properties: total: type: - number description: Total cost in USD for this research request numSearches: type: - number description: Count of web searches performed. Each search query counts as one search. numPages: type: - number description: Count of web pages fully crawled and processed. Only pages that were read in detail are counted. reasoningTokens: type: - number description: Total AI tokens used for reasoning, planning, and generating the final output required: - total - numSearches - numPages - reasoningTokens content: type: - string description: The complete research output as text. If outputSchema was provided, this is a JSON string. parsed: type: - object additionalProperties: {} description: Structured JSON object matching your outputSchema. Only present when outputSchema was provided and the output successfully validated. required: - outputType - costDollars - content title: Completed - type: - object properties: outputType: type: - string enum: - failed error: type: - string description: Detailed error message explaining why the research failed required: - outputType - error title: Failed description: The final research result, either successful with data or failed with error createdAt: type: - number description: When this event occurred (Unix timestamp in milliseconds) researchId: type: - string description: The research request this event belongs to required: - eventType - output - createdAt - researchId title: Research Output - discriminator: propertyName: eventType oneOf: - type: - object properties: eventType: type: - string enum: - plan-definition planId: type: - string description: Identifier for this planning cycle createdAt: type: - number description: When this event occurred (Unix timestamp in milliseconds) researchId: type: - string description: The research request this event belongs to required: - eventType - planId - createdAt - researchId title: Plan Definition - type: - object properties: eventType: type: - string enum: - plan-operation planId: type: - string description: Which plan this operation belongs to operationId: type: - string description: Unique identifier for this specific operation data: discriminator: propertyName: type oneOf: - type: - object properties: type: type: - string enum: - think content: type: - string description: The AI's reasoning process and decision-making steps required: - type - content title: Think - type: - object properties: type: type: - string enum: - search searchType: type: - string enum: - neural - keyword - auto - fast description: Search algorithm used (neural for semantic search, keyword for exact matches) goal: type: - string description: What the AI is trying to find with this search query: type: - string description: The exact search query sent to the search engine results: type: - array items: type: - object properties: url: type: - string required: - url description: URLs returned by the search, ranked by relevance pageTokens: type: - number description: Token cost for processing search result snippets required: - type - searchType - query - results - pageTokens title: Search - type: - object properties: type: type: - string enum: - crawl goal: type: - string description: What information the AI expects to find on this page result: type: - object properties: url: type: - string required: - url description: The specific page that was crawled pageTokens: type: - number description: Token cost for processing the full page content required: - type - result - pageTokens title: Crawl description: The actual operation performed (think, search, or crawl) createdAt: type: - number description: When this event occurred (Unix timestamp in milliseconds) researchId: type: - string description: The research request this event belongs to required: - eventType - planId - operationId - data - createdAt - researchId title: Plan Operation - type: - object properties: eventType: type: - string enum: - plan-output planId: type: - string description: Which plan is producing this output output: discriminator: propertyName: outputType oneOf: - type: - object properties: outputType: type: - string enum: - tasks reasoning: type: - string description: Why these specific tasks were chosen tasksInstructions: type: - array items: type: - string description: List of task instructions that will be executed in parallel required: - outputType - reasoning - tasksInstructions title: Tasks - type: - object properties: outputType: type: - string enum: - stop reasoning: type: - string description: Why the AI decided to stop researching required: - outputType - reasoning title: Stop description: 'The plan''s decision: either generate tasks or stop researching' createdAt: type: - number description: When this event occurred (Unix timestamp in milliseconds) researchId: type: - string description: The research request this event belongs to required: - eventType - planId - output - createdAt - researchId title: Plan Output - discriminator: propertyName: eventType oneOf: - type: - object properties: eventType: type: - string enum: - task-definition planId: type: - string description: The plan that generated this task taskId: type: - string description: Identifier for tracking this specific task instructions: type: - string description: What this task should accomplish createdAt: type: - number description: When this event occurred (Unix timestamp in milliseconds) researchId: type: - string description: The research request this event belongs to required: - eventType - planId - taskId - instructions - createdAt - researchId title: Task Definition - type: - object properties: eventType: type: - string enum: - task-operation planId: type: - string description: The plan that owns this task taskId: type: - string description: Which task is performing this operation operationId: type: - string description: Unique identifier for this specific operation data: discriminator: propertyName: type oneOf: - type: - object properties: type: type: - string enum: - think content: type: - string description: The AI's reasoning process and decision-making steps required: - type - content title: Think - type: - object properties: type: type: - string enum: - search searchType: type: - string enum: - neural - keyword - auto - fast description: Search algorithm used (neural for semantic search, keyword for exact matches) goal: type: - string description: What the AI is trying to find with this search query: type: - string description: The exact search query sent to the search engine results: type: - array items: type: - object properties: url: type: - string required: - url description: URLs returned by the search, ranked by relevance pageTokens: type: - number description: Token cost for processing search result snippets required: - type - searchType - query - results - pageTokens title: Search - type: - object properties: type: type: - string enum: - crawl goal: type: - string description: What information the AI expects to find on this page result: type: - object properties: url: type: - string required: - url description: The specific page that was crawled pageTokens: type: - number description: Token cost for processing the full page content required: - type - result - pageTokens title: Crawl description: The actual operation performed within this task createdAt: type: - number description: When this event occurred (Unix timestamp in milliseconds) researchId: type: - string description: The research request this event belongs to required: - eventType - planId - taskId - operationId - data - createdAt - researchId title: Task Operation - type: - object properties: eventType: type: - string enum: - task-output planId: type: - string description: The plan that owns this task taskId: type: - string description: Which task produced this output output: type: - object properties: outputType: type: - string enum: - completed content: type: - string description: The information gathered by this task required: - outputType - content description: The successful completion result of this task createdAt: type: - number description: When this event occurred (Unix timestamp in milliseconds) researchId: type: - string description: The research request this event belongs to required: - eventType - planId - taskId - output - createdAt - researchId title: Task Output securitySchemes: apiKey: type: apiKey name: x-api-key in: header description: 'Pass your Exa API key in the x-api-key header. You can also authenticate with Authorization: Bearer .' bearer: type: http scheme: bearer description: 'Pass your Exa API key in the x-api-key header. You can also authenticate with Authorization: Bearer .'