Valyu - Search, Answer & Deep Research
Web search, AI answers, content extraction, and async deep research
How to use it
- Hit Copy the whole skill.
- Claude: ⋯ → Download .md, then Customize → Skills → Add → Upload skill.
ChatGPT: make a Project and paste it into Instructions.
Neither? Paste it at the top of a new chat — it works for that chat. - Describe your job in plain words. The AI follows the skill from there.
npx degit gooseworks-ai/goose-skills/skills/research-tools/capabilities/web-search-valyu#main ~/.claude/skills/web-search-valyuFor one project only, change the path to .claude/skills/web-search-valyu.
Not working?
- Check which app you pasted it into — the steps above name the right one.
- Some skills need the paid tier of Claude or ChatGPT.
Paste into Claude, ChatGPT or Cursor.
Show the full text264 lines
Valyu - Search, Answer & Deep Research
Setup
Read your credentials from ~/.gooseworks/credentials.json:
export GOOSEWORKS_API_KEY=$(python3 -c "import json;print(json.load(open('$HOME/.gooseworks/credentials.json'))['api_key'])")
export GOOSEWORKS_API_BASE=$(python3 -c "import json;print(json.load(open('$HOME/.gooseworks/credentials.json')).get('api_base','https://api.gooseworks.ai'))")
If ~/.gooseworks/credentials.json does not exist, tell the user to run: npx gooseworks login
All endpoints use Bearer auth: -H "Authorization: Bearer $GOOSEWORKS_API_KEY"
Search the web, get AI answers, extract content, and run deep research tasks.
Capabilities
- Get Status: Reference for getting deep research task status via GET /v1/deepresearch/tasks/{id}/status
- Update Task: Reference for adding follow-up instructions to a running task via POST /v1/deepresearch/tasks/{id}/update
- Cancel Task: Reference for cancelling a running task via POST /v1/deepresearch/tasks/{id}/cancel
- Delete Task: Reference for deleting a task via DELETE /v1/deepresearch/tasks/{id}/delete
- Get Batch Status: Reference for getting batch status via GET /v1/deepresearch/batches/
- List Batch Tasks: Reference for listing tasks in a batch via GET /v1/deepresearch/batches//tasks
- Cancel Batch: Reference for cancelling a batch via POST /v1/deepresearch/batches//cancel
- Search: Reference for the Valyu Search endpoint to search the web, research, and proprietary datasets via POST /v1/search
- Answer: Reference for the Valyu Answer endpoint that blends search results into AI-generated answers via POST /v1/answer
- Contents: Reference for the Valyu Contents endpoint that extracts clean, structured content from any URL via POST /v1/contents
- Create Batch: Reference for creating a new batch via POST /v1/deepresearch/batches
- Create Task: Reference for creating a new deep research task via POST /v1/deepresearch/tasks
- Add Tasks to Batch: Reference for adding tasks to a batch via POST /v1/deepresearch/batches//tasks
Usage
Get Status
Reference for getting deep research task status via GET /v1/deepresearch/tasks/{id}/status.
curl -s -X POST $GOOSEWORKS_API_BASE/v1/proxy/orthogonal/run \
-H "Authorization: Bearer $GOOSEWORKS_API_KEY" \
-H "Content-Type: application/json" \
-d '{"api":"valyu","path":"/v1/deepresearch/tasks/{id}/status"}'
Update Task
Reference for adding follow-up instructions to a running task via POST /v1/deepresearch/tasks/{id}/update.
Parameters:
- instruction* (string) - Follow-up instruction to add to the running task. Must be submitted before the writing phase begins.
curl -s -X POST $GOOSEWORKS_API_BASE/v1/proxy/orthogonal/run \
-H "Authorization: Bearer $GOOSEWORKS_API_KEY" \
-H "Content-Type: application/json" \
-d '{"api":"valyu","path":"/v1/deepresearch/tasks/{id}/update","body":{"query":"Updated research query"}}'
Cancel Task
Reference for cancelling a running task via POST /v1/deepresearch/tasks/{id}/cancel.
curl -s -X POST $GOOSEWORKS_API_BASE/v1/proxy/orthogonal/run \
-H "Authorization: Bearer $GOOSEWORKS_API_KEY" \
-H "Content-Type: application/json" \
-d '{"api":"valyu","path":"/v1/deepresearch/tasks/{id}/cancel"}'
Delete Task
Reference for deleting a task via DELETE /v1/deepresearch/tasks/{id}/delete.
curl -s -X POST $GOOSEWORKS_API_BASE/v1/proxy/orthogonal/run \
-H "Authorization: Bearer $GOOSEWORKS_API_KEY" \
-H "Content-Type: application/json" \
-d '{"api":"valyu","path":"/v1/deepresearch/tasks/{id}/delete"}'
Get Batch Status
Reference for getting batch status via GET /v1/deepresearch/batches/.
curl -s -X POST $GOOSEWORKS_API_BASE/v1/proxy/orthogonal/run \
-H "Authorization: Bearer $GOOSEWORKS_API_KEY" \
-H "Content-Type: application/json" \
-d '{"api":"valyu","path":"/v1/deepresearch/batches/{id}"}'
List Batch Tasks
Reference for listing tasks in a batch via GET /v1/deepresearch/batches//tasks.
curl -s -X POST $GOOSEWORKS_API_BASE/v1/proxy/orthogonal/run \
-H "Authorization: Bearer $GOOSEWORKS_API_KEY" \
-H "Content-Type: application/json" \
-d '{"api":"valyu","path":"/v1/deepresearch/batches/{id}/tasks"}'
Cancel Batch
Reference for cancelling a batch via POST /v1/deepresearch/batches//cancel.
curl -s -X POST $GOOSEWORKS_API_BASE/v1/proxy/orthogonal/run \
-H "Authorization: Bearer $GOOSEWORKS_API_KEY" \
-H "Content-Type: application/json" \
-d '{"api":"valyu","path":"/v1/deepresearch/batches/{id}/cancel"}'
Search
Reference for the Valyu Search endpoint to search the web, research, and proprietary datasets via POST /v1/search.
Parameters:
- query* (string) - The query string for the search
- max_num_results (integer) - Maximum number of results to return (1-20 for standard API keys, up to 100 with a special API key)
- search_type (enum<string>) - Type of search to perform.'web' searches and returns web content. 'proprietary' uses Valyu's full-text multimodal indicies (arxiv/pubmed/proprietary academic content). 'news' searches and returns only news articles.
- fast_mode (boolean) - Enable fast mode for reduced latency but shorter results. Best for general purpose queries.
- max_price (number<float>) - Maximum price in dollars for a thousand retrievals (CPM). Only applies when provided. If not provided, adjusts automatically based on search type and max number of results.
- relevance_threshold (number<float>) - Minimum relevance score for results (0.0-1.0)
- included_sources (string[]) - List of specific sources to search (URLs, domains or dataset names). When a URL or domain path is provided (e.g., 'https://valyu.ai/blog' or 'valyu.ai/blog'), only that specific path will be searched. For entire domains, use either the domain name (e.g., 'valyu.ai') or the base URL (e.g., 'https://valyu.ai').
- excluded_sources (string[]) - List of specific sources to exclude from search (URLs, domains, or dataset names). When a URL or domain path is provided (e.g., 'https://valyu.ai/blog' or 'valyu.ai/blog'), only that specific path will be excluded. For entire domains, use either the domain name (e.g., 'valyu.ai') or the base URL (e.g., 'https://valyu.ai').
- category (string) - Natural language category/guide phrase to help guide the search to the most relevant content. For example 'agentic use-cases
- response_length (default:short) - Controls the length of content returned per result. Can be an integer for character count or predefined values: 'short' (25k), 'medium' (50k), 'large' (100k), 'max' (full)
- country_code (string) - 2-letter ISO country code to bias search results to a specific country
- is_tool_call (boolean) - Tunes retrieval process based on whether the API is being called by an AI agent as a tool call, or a user query.
- start_date (string<date>) - Start date for time-filtered searches (YYYY-MM-DD)
- end_date (string<date>) - End date for time-filtered searches (YYYY-MM-DD)
- url_only (boolean) - When set to true, only returns URLs for results (no content). Only applies when search_type is 'web' or 'news'.
curl -s -X POST $GOOSEWORKS_API_BASE/v1/proxy/orthogonal/run \
-H "Authorization: Bearer $GOOSEWORKS_API_KEY" \
-H "Content-Type: application/json" \
-d '{"api":"valyu","path":"/v1/search","body":{"query":"AI agent frameworks comparison"}}'
Answer
Reference for the Valyu Answer endpoint that blends search results into AI-generated answers via POST /v1/answer.
Parameters:
- query* (string) - The search query
- system_instructions (string) - Custom instructions for AI processing
- structured_output (object) - JSON schema for structured output. When provided, enables JSON mode and returns structured data
- search_type (string) - Type of search to perform
- fast_mode (boolean) - Enable fast mode for reduced latency but shorter results. Best for general purpose queries.
- data_max_price (number) - Maximum price in dollars for data retrieval (search costs only, does not affect AI costs)
- included_sources (string[]) - List of specific sources to search (URLs, domains or dataset names). When a URL or domain path is provided (e.g., 'https://valyu.ai/blog' or 'valyu.ai/blog'), only that specific path will be searched. For entire domains, use either the domain name (e.g., 'valyu.ai') or the base URL (e.g., 'https://valyu.ai').
- excluded_sources (string[]) - List of specific sources to exclude from search (URLs, domains, or dataset names). When a URL or domain path is provided (e.g., 'https://valyu.ai/blog' or 'valyu.ai/blog'), only that specific path will be excluded. For entire domains, use either the domain name (e.g., 'valyu.ai') or the base URL (e.g., 'https://valyu.ai').
- start_date (string) - Start date filter (YYYY-MM-DD)
- end_date (string) - End date filter (YYYY-MM-DD)
- country_code (string) - 2-letter ISO country code to bias search results to a specific country
- streaming (boolean) - Enable Server-Sent Events (SSE) streaming. When true, returns a stream of chunks: search_results first, then content deltas, then metadata, then [DONE].
curl -s -X POST $GOOSEWORKS_API_BASE/v1/proxy/orthogonal/run \
-H "Authorization: Bearer $GOOSEWORKS_API_KEY" \
-H "Content-Type: application/json" \
-d '{"api":"valyu","path":"/v1/answer","body":{"query":"What are the best practices for building AI agents?"}}'
Contents
Reference for the Valyu Contents endpoint that extracts clean, structured content from any URL via POST /v1/contents.
Parameters:
- urls* (string[]) - List of URLs to process (maximum 10 URLs per request)
- response_length (default:short) - Content length configuration: "short": 25,000 characters (good for summaries) "medium": 50,000 characters (good for articles) "large": 100,000 characters (good for academic papers) "max": No character limit Custom integer: Specific character limit
- max_price_dollars (number) - Maximum cost limit in dollars for the entire request. If not specified, defaults to 2x the estimated cost.
- extract_effort (string) - Processing effort level: "normal": Fastest extraction speed (Fastest) "high": Enhanced extraction with better content quality and reliability (Slower) "auto": Automatically chooses the right effort level (Slowest)
- screenshot (boolean) - Request page screenshots. When true, each result will include a screenshot_url field containing a pre-signed URL to a screenshot image of the page. Screenshots are captured during page rendering.
- summary (boolean) - Toggle AI processing (false is default)
curl -s -X POST $GOOSEWORKS_API_BASE/v1/proxy/orthogonal/run \
-H "Authorization: Bearer $GOOSEWORKS_API_KEY" \
-H "Content-Type: application/json" \
-d '{"api":"valyu","path":"/v1/contents","body":{"urls":["https://example.com/article"]}}'
Create Batch
Reference for creating a new batch via POST /v1/deepresearch/batches.
Parameters:
- name (string) - Optional name for the batch
- mode (enum<string>) - DeepResearch mode for all tasks in this batch
- output_formats ((string | object)[]) - Default output formats for all tasks (markdown, pdf, toon, or structured JSON schema). Cannot mix JSON schema with markdown/pdf. toon requires a JSON schema.
- search (object) - Search configuration applied to all tasks in the batch (cannot be overridden per task)
- webhook_url (string<uri>) - HTTPS URL to receive notifications when the batch completes
- metadata (object) - Custom metadata for tracking and organization
curl -s -X POST $GOOSEWORKS_API_BASE/v1/proxy/orthogonal/run \
-H "Authorization: Bearer $GOOSEWORKS_API_KEY" \
-H "Content-Type: application/json" \
-d '{"api":"valyu","path":"/v1/deepresearch/batches","body":{"name":"Competitor Research"}}'
Create Task
Reference for creating a new deep research task via POST /v1/deepresearch/tasks.
Parameters:
- query* (string) - Research query or task description
- mode (string) - DeepResearch mode: fast: Ideal for quicker answers and lightweight research. Typically completes in ~2–5 minutes. standard: A balanced option for deeper insights without long wait times. Runs for ~10–20 minutes. heavy: Designed for in-depth, long-running research tasks. Can run for up to ~90 minutes.
- model (string) - DeepResearch mode (deprecated, use 'mode' instead)
- output_formats (string) - Output formats. Use ['markdown'], ['markdown', 'pdf'], or a JSON schema object for structured output. Cannot mix JSON schema with markdown/pdf.
- strategy (string) - Natural language strategy instructions prepended to the system prompt
- search (object) - Search configuration parameters
- urls (string[]) - URLs to extract content from (max 10)
- files (object[]) - File attachments (PDFs, images, documents). Max 10 files.
- mcp_servers (object[]) - MCP server configurations for custom tools (max 5 servers)
- code_execution (boolean) - Enable/disable code execution during research
- previous_reports (string[]) - Previous deep research IDs to use as context (max 3)
- webhook_url (string) - HTTPS URL for webhook notifications. When provided, Valyu will POST the full task result to this URL when the task completes or fails. The request includes X-Webhook-Signature and X-Webhook-Timestamp headers for verification. HTTP URLs are rejected—only HTTPS is supported.
- metadata (object) - Custom metadata for tracking
- deliverables (object[]) - Additional file outputs to generate from the research (CSV, Excel, PowerPoint, Word, PDF). Max 10 deliverables.
curl -s -X POST $GOOSEWORKS_API_BASE/v1/proxy/orthogonal/run \
-H "Authorization: Bearer $GOOSEWORKS_API_KEY" \
-H "Content-Type: application/json" \
-d '{"api":"valyu","path":"/v1/deepresearch/tasks","body":{"query":"Comprehensive analysis of vector databases market"}}'
Add Tasks to Batch
Reference for adding tasks to a batch via POST /v1/deepresearch/batches//tasks.
Parameters:
- tasks* (object[]) - Array of tasks to add to the batch (1-100 tasks per request)
curl -s -X POST $GOOSEWORKS_API_BASE/v1/proxy/orthogonal/run \
-H "Authorization: Bearer $GOOSEWORKS_API_KEY" \
-H "Content-Type: application/json" \
-d '{"api":"valyu","path":"/v1/deepresearch/batches/{id}/tasks"}'
Use Cases
- Research Automation: Comprehensive research on any topic
- Content Intelligence: Extract and analyze web content
- Market Analysis: Research markets and competitors
- Due Diligence: Gather information for decisions
- Knowledge Base Building: Collect structured information
Discover More
For full endpoint details and parameters:
curl -s -X POST $GOOSEWORKS_API_BASE/v1/proxy/orthogonal/search \
-H "Authorization: Bearer $GOOSEWORKS_API_KEY" \
-H "Content-Type: application/json" \
-d '{"prompt":"valyu API endpoints"}' List all endpoints
curl -s -X POST $GOOSEWORKS_API_BASE/v1/proxy/orthogonal/details \
-H "Authorization: Bearer $GOOSEWORKS_API_KEY" \
-H "Content-Type: application/json" \
-d '{"api":"valyu","path":"/v1/deepresearch"}' # Get endpoint details
| 1 | |
| 2 | name web-search-valyu |
| 3 | description Web search, AI answers, content extraction, and async deep research |
| 4 | source orthogonal |
| 5 | |
| 6 | |
| 7 | |
| 8 | # Valyu - Search, Answer & Deep Research |
| 9 | |
| 10 | ## Setup |
| 11 | |
| 12 | Read your credentials from ~/.gooseworks/credentials.json: |
| 13 | |
| 14 | export GOOSEWORKS_API_KEY=$(python3 -c "import json;print(json.load(open('$HOME/.gooseworks/credentials.json'))['api_key'])") |
| 15 | export GOOSEWORKS_API_BASE=$(python3 -c "import json;print(json.load(open('$HOME/.gooseworks/credentials.json')).get('api_base','https://api.gooseworks.ai'))") |
| 16 | |
| 17 | |
| 18 | If ~/.gooseworks/credentials.json does not exist, tell the user to run: `npx gooseworks login` |
| 19 | |
| 20 | All endpoints use Bearer auth: `-H "Authorization: Bearer $GOOSEWORKS_API_KEY"` |
| 21 | |
| 22 | |
| 23 | Search the web, get AI answers, extract content, and run deep research tasks. |
| 24 | |
| 25 | ## Capabilities |
| 26 | |
| 27 | **Get Status**: Reference for getting deep research task status via GET /v1/deepresearch/tasks/{id}/status |
| 28 | **Update Task**: Reference for adding follow-up instructions to a running task via POST /v1/deepresearch/tasks/{id}/update |
| 29 | **Cancel Task**: Reference for cancelling a running task via POST /v1/deepresearch/tasks/{id}/cancel |
| 30 | **Delete Task**: Reference for deleting a task via DELETE /v1/deepresearch/tasks/{id}/delete |
| 31 | **Get Batch Status**: Reference for getting batch status via GET /v1/deepresearch/batches/ |
| 32 | **List Batch Tasks**: Reference for listing tasks in a batch via GET /v1/deepresearch/batches//tasks |
| 33 | **Cancel Batch**: Reference for cancelling a batch via POST /v1/deepresearch/batches//cancel |
| 34 | **Search**: Reference for the Valyu Search endpoint to search the web, research, and proprietary datasets via POST /v1/search |
| 35 | **Answer**: Reference for the Valyu Answer endpoint that blends search results into AI-generated answers via POST /v1/answer |
| 36 | **Contents**: Reference for the Valyu Contents endpoint that extracts clean, structured content from any URL via POST /v1/contents |
| 37 | **Create Batch**: Reference for creating a new batch via POST /v1/deepresearch/batches |
| 38 | **Create Task**: Reference for creating a new deep research task via POST /v1/deepresearch/tasks |
| 39 | **Add Tasks to Batch**: Reference for adding tasks to a batch via POST /v1/deepresearch/batches//tasks |
| 40 | |
| 41 | ## Usage |
| 42 | |
| 43 | ### Get Status |
| 44 | Reference for getting deep research task status via GET /v1/deepresearch/tasks/{id}/status. |
| 45 | |
| 46 | |
| 47 | curl -s -X POST $GOOSEWORKS_API_BASE/v1/proxy/orthogonal/run \ |
| 48 | -H "Authorization: Bearer $GOOSEWORKS_API_KEY" \ |
| 49 | -H "Content-Type: application/json" \ |
| 50 | -d '{"api":"valyu","path":"/v1/deepresearch/tasks/{id}/status"}' |
| 51 | |
| 52 | |
| 53 | ### Update Task |
| 54 | Reference for adding follow-up instructions to a running task via POST /v1/deepresearch/tasks/{id}/update. |
| 55 | |
| 56 | Parameters: |
| 57 | instruction* (string) - Follow-up instruction to add to the running task. Must be submitted before the writing phase begins. |
| 58 | |
| 59 | |
| 60 | curl -s -X POST $GOOSEWORKS_API_BASE/v1/proxy/orthogonal/run \ |
| 61 | -H "Authorization: Bearer $GOOSEWORKS_API_KEY" \ |
| 62 | -H "Content-Type: application/json" \ |
| 63 | -d '{"api":"valyu","path":"/v1/deepresearch/tasks/{id}/update","body":{"query":"Updated research query"}}' |
| 64 | |
| 65 | |
| 66 | ### Cancel Task |
| 67 | Reference for cancelling a running task via POST /v1/deepresearch/tasks/{id}/cancel. |
| 68 | |
| 69 | |
| 70 | curl -s -X POST $GOOSEWORKS_API_BASE/v1/proxy/orthogonal/run \ |
| 71 | -H "Authorization: Bearer $GOOSEWORKS_API_KEY" \ |
| 72 | -H "Content-Type: application/json" \ |
| 73 | -d '{"api":"valyu","path":"/v1/deepresearch/tasks/{id}/cancel"}' |
| 74 | |
| 75 | |
| 76 | ### Delete Task |
| 77 | Reference for deleting a task via DELETE /v1/deepresearch/tasks/{id}/delete. |
| 78 | |
| 79 | |
| 80 | curl -s -X POST $GOOSEWORKS_API_BASE/v1/proxy/orthogonal/run \ |
| 81 | -H "Authorization: Bearer $GOOSEWORKS_API_KEY" \ |
| 82 | -H "Content-Type: application/json" \ |
| 83 | -d '{"api":"valyu","path":"/v1/deepresearch/tasks/{id}/delete"}' |
| 84 | |
| 85 | |
| 86 | ### Get Batch Status |
| 87 | Reference for getting batch status via GET /v1/deepresearch/batches/. |
| 88 | |
| 89 | |
| 90 | curl -s -X POST $GOOSEWORKS_API_BASE/v1/proxy/orthogonal/run \ |
| 91 | -H "Authorization: Bearer $GOOSEWORKS_API_KEY" \ |
| 92 | -H "Content-Type: application/json" \ |
| 93 | -d '{"api":"valyu","path":"/v1/deepresearch/batches/{id}"}' |
| 94 | |
| 95 | |
| 96 | ### List Batch Tasks |
| 97 | Reference for listing tasks in a batch via GET /v1/deepresearch/batches//tasks. |
| 98 | |
| 99 | |
| 100 | curl -s -X POST $GOOSEWORKS_API_BASE/v1/proxy/orthogonal/run \ |
| 101 | -H "Authorization: Bearer $GOOSEWORKS_API_KEY" \ |
| 102 | -H "Content-Type: application/json" \ |
| 103 | -d '{"api":"valyu","path":"/v1/deepresearch/batches/{id}/tasks"}' |
| 104 | |
| 105 | |
| 106 | ### Cancel Batch |
| 107 | Reference for cancelling a batch via POST /v1/deepresearch/batches//cancel. |
| 108 | |
| 109 | |
| 110 | curl -s -X POST $GOOSEWORKS_API_BASE/v1/proxy/orthogonal/run \ |
| 111 | -H "Authorization: Bearer $GOOSEWORKS_API_KEY" \ |
| 112 | -H "Content-Type: application/json" \ |
| 113 | -d '{"api":"valyu","path":"/v1/deepresearch/batches/{id}/cancel"}' |
| 114 | |
| 115 | |
| 116 | ### Search |
| 117 | Reference for the Valyu Search endpoint to search the web, research, and proprietary datasets via POST /v1/search. |
| 118 | |
| 119 | Parameters: |
| 120 | query* (string) - The query string for the search |
| 121 | max_num_results (integer) - Maximum number of results to return (1-20 for standard API keys, up to 100 with a special API key) |
| 122 | search_type (enum<string>) - Type of search to perform.'web' searches and returns web content. 'proprietary' uses Valyu's full-text multimodal indicies (arxiv/pubmed/proprietary academic content). 'news' searches and returns only news articles. |
| 123 | fast_mode (boolean) - Enable fast mode for reduced latency but shorter results. Best for general purpose queries. |
| 124 | max_price (number<float>) - Maximum price in dollars for a thousand retrievals (CPM). Only applies when provided. If not provided, adjusts automatically based on search type and max number of results. |
| 125 | relevance_threshold (number<float>) - Minimum relevance score for results (0.0-1.0) |
| 126 | included_sources (string[]) - List of specific sources to search (URLs, domains or dataset names). When a URL or domain path is provided (e.g., 'https://valyu.ai/blog' or 'valyu.ai/blog'), only that specific path will be searched. For entire domains, use either the domain name (e.g., 'valyu.ai') or the base URL (e.g., 'https://valyu.ai'). |
| 127 | excluded_sources (string[]) - List of specific sources to exclude from search (URLs, domains, or dataset names). When a URL or domain path is provided (e.g., 'https://valyu.ai/blog' or 'valyu.ai/blog'), only that specific path will be excluded. For entire domains, use either the domain name (e.g., 'valyu.ai') or the base URL (e.g., 'https://valyu.ai'). |
| 128 | category (string) - Natural language category/guide phrase to help guide the search to the most relevant content. For example 'agentic use-cases |
| 129 | response_length (default:short) - Controls the length of content returned per result. Can be an integer for character count or predefined values: 'short' (25k), 'medium' (50k), 'large' (100k), 'max' (full) |
| 130 | country_code (string) - 2-letter ISO country code to bias search results to a specific country |
| 131 | is_tool_call (boolean) - Tunes retrieval process based on whether the API is being called by an AI agent as a tool call, or a user query. |
| 132 | start_date (string<date>) - Start date for time-filtered searches (YYYY-MM-DD) |
| 133 | end_date (string<date>) - End date for time-filtered searches (YYYY-MM-DD) |
| 134 | url_only (boolean) - When set to true, only returns URLs for results (no content). Only applies when search_type is 'web' or 'news'. |
| 135 | |
| 136 | |
| 137 | curl -s -X POST $GOOSEWORKS_API_BASE/v1/proxy/orthogonal/run \ |
| 138 | -H "Authorization: Bearer $GOOSEWORKS_API_KEY" \ |
| 139 | -H "Content-Type: application/json" \ |
| 140 | -d '{"api":"valyu","path":"/v1/search","body":{"query":"AI agent frameworks comparison"}}' |
| 141 | |
| 142 | |
| 143 | ### Answer |
| 144 | Reference for the Valyu Answer endpoint that blends search results into AI-generated answers via POST /v1/answer. |
| 145 | |
| 146 | Parameters: |
| 147 | query* (string) - The search query |
| 148 | system_instructions (string) - Custom instructions for AI processing |
| 149 | structured_output (object) - JSON schema for structured output. When provided, enables JSON mode and returns structured data |
| 150 | search_type (string) - Type of search to perform |
| 151 | fast_mode (boolean) - Enable fast mode for reduced latency but shorter results. Best for general purpose queries. |
| 152 | data_max_price (number) - Maximum price in dollars for data retrieval (search costs only, does not affect AI costs) |
| 153 | included_sources (string[]) - List of specific sources to search (URLs, domains or dataset names). When a URL or domain path is provided (e.g., 'https://valyu.ai/blog' or 'valyu.ai/blog'), only that specific path will be searched. For entire domains, use either the domain name (e.g., 'valyu.ai') or the base URL (e.g., 'https://valyu.ai'). |
| 154 | excluded_sources (string[]) - List of specific sources to exclude from search (URLs, domains, or dataset names). When a URL or domain path is provided (e.g., 'https://valyu.ai/blog' or 'valyu.ai/blog'), only that specific path will be excluded. For entire domains, use either the domain name (e.g., 'valyu.ai') or the base URL (e.g., 'https://valyu.ai'). |
| 155 | start_date (string) - Start date filter (YYYY-MM-DD) |
| 156 | end_date (string) - End date filter (YYYY-MM-DD) |
| 157 | country_code (string) - 2-letter ISO country code to bias search results to a specific country |
| 158 | streaming (boolean) - Enable Server-Sent Events (SSE) streaming. When true, returns a stream of chunks: search_results first, then content deltas, then metadata, then [DONE]. |
| 159 | |
| 160 | |
| 161 | curl -s -X POST $GOOSEWORKS_API_BASE/v1/proxy/orthogonal/run \ |
| 162 | -H "Authorization: Bearer $GOOSEWORKS_API_KEY" \ |
| 163 | -H "Content-Type: application/json" \ |
| 164 | -d '{"api":"valyu","path":"/v1/answer","body":{"query":"What are the best practices for building AI agents?"}}' |
| 165 | |
| 166 | |
| 167 | ### Contents |
| 168 | Reference for the Valyu Contents endpoint that extracts clean, structured content from any URL via POST /v1/contents. |
| 169 | |
| 170 | Parameters: |
| 171 | urls* (string[]) - List of URLs to process (maximum 10 URLs per request) |
| 172 | response_length (default:short) - Content length configuration: "short": 25,000 characters (good for summaries) "medium": 50,000 characters (good for articles) "large": 100,000 characters (good for academic papers) "max": No character limit Custom integer: Specific character limit |
| 173 | max_price_dollars (number) - Maximum cost limit in dollars for the entire request. If not specified, defaults to 2x the estimated cost. |
| 174 | extract_effort (string) - Processing effort level: "normal": Fastest extraction speed (Fastest) "high": Enhanced extraction with better content quality and reliability (Slower) "auto": Automatically chooses the right effort level (Slowest) |
| 175 | screenshot (boolean) - Request page screenshots. When true, each result will include a screenshot_url field containing a pre-signed URL to a screenshot image of the page. Screenshots are captured during page rendering. |
| 176 | summary (boolean) - Toggle AI processing (false is default) |
| 177 | |
| 178 | |
| 179 | curl -s -X POST $GOOSEWORKS_API_BASE/v1/proxy/orthogonal/run \ |
| 180 | -H "Authorization: Bearer $GOOSEWORKS_API_KEY" \ |
| 181 | -H "Content-Type: application/json" \ |
| 182 | -d '{"api":"valyu","path":"/v1/contents","body":{"urls":["https://example.com/article"]}}' |
| 183 | |
| 184 | |
| 185 | ### Create Batch |
| 186 | Reference for creating a new batch via POST /v1/deepresearch/batches. |
| 187 | |
| 188 | Parameters: |
| 189 | name (string) - Optional name for the batch |
| 190 | mode (enum<string>) - DeepResearch mode for all tasks in this batch |
| 191 | output_formats ((string | object)[]) - Default output formats for all tasks (markdown, pdf, toon, or structured JSON schema). Cannot mix JSON schema with markdown/pdf. toon requires a JSON schema. |
| 192 | search (object) - Search configuration applied to all tasks in the batch (cannot be overridden per task) |
| 193 | webhook_url (string<uri>) - HTTPS URL to receive notifications when the batch completes |
| 194 | metadata (object) - Custom metadata for tracking and organization |
| 195 | |
| 196 | |
| 197 | curl -s -X POST $GOOSEWORKS_API_BASE/v1/proxy/orthogonal/run \ |
| 198 | -H "Authorization: Bearer $GOOSEWORKS_API_KEY" \ |
| 199 | -H "Content-Type: application/json" \ |
| 200 | -d '{"api":"valyu","path":"/v1/deepresearch/batches","body":{"name":"Competitor Research"}}' |
| 201 | |
| 202 | |
| 203 | ### Create Task |
| 204 | Reference for creating a new deep research task via POST /v1/deepresearch/tasks. |
| 205 | |
| 206 | Parameters: |
| 207 | query* (string) - Research query or task description |
| 208 | mode (string) - DeepResearch mode: fast: Ideal for quicker answers and lightweight research. Typically completes in ~2–5 minutes. standard: A balanced option for deeper insights without long wait times. Runs for ~10–20 minutes. heavy: Designed for in-depth, long-running research tasks. Can run for up to ~90 minutes. |
| 209 | model (string) - DeepResearch mode (deprecated, use 'mode' instead) |
| 210 | output_formats (string) - Output formats. Use ['markdown'], ['markdown', 'pdf'], or a JSON schema object for structured output. Cannot mix JSON schema with markdown/pdf. |
| 211 | strategy (string) - Natural language strategy instructions prepended to the system prompt |
| 212 | search (object) - Search configuration parameters |
| 213 | urls (string[]) - URLs to extract content from (max 10) |
| 214 | files (object[]) - File attachments (PDFs, images, documents). Max 10 files. |
| 215 | mcp_servers (object[]) - MCP server configurations for custom tools (max 5 servers) |
| 216 | code_execution (boolean) - Enable/disable code execution during research |
| 217 | previous_reports (string[]) - Previous deep research IDs to use as context (max 3) |
| 218 | webhook_url (string) - HTTPS URL for webhook notifications. When provided, Valyu will POST the full task result to this URL when the task completes or fails. The request includes X-Webhook-Signature and X-Webhook-Timestamp headers for verification. HTTP URLs are rejected—only HTTPS is supported. |
| 219 | metadata (object) - Custom metadata for tracking |
| 220 | deliverables (object[]) - Additional file outputs to generate from the research (CSV, Excel, PowerPoint, Word, PDF). Max 10 deliverables. |
| 221 | |
| 222 | |
| 223 | curl -s -X POST $GOOSEWORKS_API_BASE/v1/proxy/orthogonal/run \ |
| 224 | -H "Authorization: Bearer $GOOSEWORKS_API_KEY" \ |
| 225 | -H "Content-Type: application/json" \ |
| 226 | -d '{"api":"valyu","path":"/v1/deepresearch/tasks","body":{"query":"Comprehensive analysis of vector databases market"}}' |
| 227 | |
| 228 | |
| 229 | ### Add Tasks to Batch |
| 230 | Reference for adding tasks to a batch via POST /v1/deepresearch/batches//tasks. |
| 231 | |
| 232 | Parameters: |
| 233 | tasks* (object[]) - Array of tasks to add to the batch (1-100 tasks per request) |
| 234 | |
| 235 | |
| 236 | curl -s -X POST $GOOSEWORKS_API_BASE/v1/proxy/orthogonal/run \ |
| 237 | -H "Authorization: Bearer $GOOSEWORKS_API_KEY" \ |
| 238 | -H "Content-Type: application/json" \ |
| 239 | -d '{"api":"valyu","path":"/v1/deepresearch/batches/{id}/tasks"}' |
| 240 | |
| 241 | |
| 242 | ## Use Cases |
| 243 | |
| 244 | **Research Automation**: Comprehensive research on any topic |
| 245 | **Content Intelligence**: Extract and analyze web content |
| 246 | **Market Analysis**: Research markets and competitors |
| 247 | **Due Diligence**: Gather information for decisions |
| 248 | **Knowledge Base Building**: Collect structured information |
| 249 | |
| 250 | ## Discover More |
| 251 | |
| 252 | For full endpoint details and parameters: |
| 253 | |
| 254 | |
| 255 | curl -s -X POST $GOOSEWORKS_API_BASE/v1/proxy/orthogonal/search \ |
| 256 | -H "Authorization: Bearer $GOOSEWORKS_API_KEY" \ |
| 257 | -H "Content-Type: application/json" \ |
| 258 | -d '{"prompt":"valyu API endpoints"}' List all endpoints |
| 259 | curl -s -X POST $GOOSEWORKS_API_BASE/v1/proxy/orthogonal/details \ |
| 260 | -H "Authorization: Bearer $GOOSEWORKS_API_KEY" \ |
| 261 | -H "Content-Type: application/json" \ |
| 262 | -d '{"api":"valyu","path":"/v1/deepresearch"}' # Get endpoint details |
| 263 | |
| 264 |