Goose-skills orthogonal-valyu

Web search, AI answers, content extraction, and async deep research

install
source · Clone the upstream repo
git clone https://github.com/gooseworks-ai/goose-skills
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/gooseworks-ai/goose-skills "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/capabilities/orthogonal-valyu" ~/.claude/skills/gooseworks-ai-goose-skills-orthogonal-valyu && rm -rf "$T"
manifest: skills/capabilities/orthogonal-valyu/SKILL.md
source content

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

  1. Research Automation: Comprehensive research on any topic
  2. Content Intelligence: Extract and analyze web content
  3. Market Analysis: Research markets and competitors
  4. Due Diligence: Gather information for decisions
  5. 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