Linkup - Web Search & Fetch API

Web search and content fetching - search the web or extract content from URLs

How to use it

  1. Hit Copy the whole skill.
  2. 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.
  3. Describe your job in plain words. The AI follows the skill from there.
Claude Code — installs the whole folder, not just SKILL.md
npx degit gooseworks-ai/goose-skills/skills/research-tools/capabilities/web-search-linkup#main ~/.claude/skills/web-search-linkup

For one project only, change the path to .claude/skills/web-search-linkup.

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.
Step-by-step guide with screenshots · Ask in the forum

Paste into Claude, ChatGPT or Cursor.

Show the full text97 lines
web-search-linkup/SKILL.md97 lines4.4 KBpushed 96d agoRawView on GitHub

Linkup - Web Search & Fetch API

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 and fetch content from any URL.

Capabilities

  • Search: The /search endpoint allows you to retrieve web content
  • Fetch: The /fetch endpoint allows you to fetch a single webpage from a given URL

Usage

Search

The /search endpoint allows you to retrieve web content.

Parameters:

  • q* (string) - The natural language question for which you want to retrieve context.
  • depth* (string) - Defines the precision of the search. standard returns results faster; deep takes longer but yields more comprehensive results.
  • outputType* (string) - The type of output you want to get. Use structured for a custom-formatted response defined by structuredOutputSchema.
  • structuredOutputSchema (object) - Required only when outputType is structured. Provide a JSON schema (as a string) representing the desired response format. The root must be of type object.
  • includeSources (boolean) - Relevant only when outputType is structured. Defines whether the response should include sources. Please note that it modifies the schema of the response, see below
  • includeImages (boolean) - Defines whether the API should include images in its results.
  • fromDate (string) - The date from which the search results should be considered, in ISO 8601 format (YYYY-MM-DD). It must be before toDate, if provided, and later than 1970-01-01.
  • toDate (string) - The date until which the search results should be considered, in ISO 8601 format (YYYY-MM-DD). It must be later than fromDate, if provided, or than 1970-01-01.
  • includeDomains (string[]) - The domains you want to search on. By default, don't restrict the search. You can provide up to 100 domains.
  • excludeDomains (string[]) - The domains you want to exclude of the search. By default, don't restrict the search.
  • includeInlineCitations (boolean) - Relevant only when outputType is sourcedAnswer. Defines whether the answer should include inline citations.
  • maxResults (number) - The maximum number of results to return.
curl -s -X POST $GOOSEWORKS_API_BASE/v1/proxy/orthogonal/run \
  -H "Authorization: Bearer $GOOSEWORKS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"api":"linkup","path":"/search"}'
  "q": "latest AI developments 2024",
  "depth": "standard",
  "outputType": "sourcedAnswer"
}'

Fetch

The /fetch endpoint allows you to fetch a single webpage from a given URL.

Parameters:

  • url* (string) - The URL of the webpage you want to fetch.
  • renderJs (boolean) - Defines whether the API should render the JavaScript of the webpage.
  • includeRawHtml (boolean) - Defines whether the API should include the raw HTML of the webpage in its response.
  • extractImages (boolean) - Defines whether the API should extract the images from the webpage in its response.
curl -s -X POST $GOOSEWORKS_API_BASE/v1/proxy/orthogonal/run \
  -H "Authorization: Bearer $GOOSEWORKS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"api":"linkup","path":"/fetch","body":{"url":"https://example.com/article"}}'

Use Cases

  1. Research: Search for information on any topic
  2. Content Aggregation: Fetch and process web content
  3. Fact Checking: Verify information from multiple sources
  4. News Monitoring: Track news on specific topics

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":"linkup 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":"linkup","path":"/search"}'   # Get endpoint details
1---
2name: web-search-linkup
3description: Web search and content fetching - search the web or extract content from URLs
4source: orthogonal
5---
6 
7 
8# Linkup - Web Search & Fetch API
9 
10## Setup
11 
12Read your credentials from ~/.gooseworks/credentials.json:
13```bash
14export GOOSEWORKS_API_KEY=$(python3 -c "import json;print(json.load(open('$HOME/.gooseworks/credentials.json'))['api_key'])")
15export GOOSEWORKS_API_BASE=$(python3 -c "import json;print(json.load(open('$HOME/.gooseworks/credentials.json')).get('api_base','https://api.gooseworks.ai'))")
16```
17 
18If ~/.gooseworks/credentials.json does not exist, tell the user to run: `npx gooseworks login`
19 
20All endpoints use Bearer auth: `-H "Authorization: Bearer $GOOSEWORKS_API_KEY"`
21 
22 
23Search the web and fetch content from any URL.
24 
25## Capabilities
26 
27- **Search**: The /search endpoint allows you to retrieve web content
28- **Fetch**: The /fetch endpoint allows you to fetch a single webpage from a given URL
29 
30## Usage
31 
32### Search
33The /search endpoint allows you to retrieve web content.
34 
35Parameters:
36- q* (string) - The natural language question for which you want to retrieve context.
37- depth* (string) - Defines the precision of the search. standard returns results faster; deep takes longer but yields more comprehensive results.
38- outputType* (string) - The type of output you want to get. Use structured for a custom-formatted response defined by structuredOutputSchema.
39- structuredOutputSchema (object) - Required only when outputType is structured. Provide a JSON schema (as a string) representing the desired response format. The root must be of type object.
40- includeSources (boolean) - Relevant only when outputType is structured. Defines whether the response should include sources. Please note that it modifies the schema of the response, see below
41- includeImages (boolean) - Defines whether the API should include images in its results.
42- fromDate (string) - The date from which the search results should be considered, in ISO 8601 format (YYYY-MM-DD). It must be before toDate, if provided, and later than 1970-01-01.
43- toDate (string) - The date until which the search results should be considered, in ISO 8601 format (YYYY-MM-DD). It must be later than fromDate, if provided, or than 1970-01-01.
44- includeDomains (string[]) - The domains you want to search on. By default, don't restrict the search. You can provide up to 100 domains.
45- excludeDomains (string[]) - The domains you want to exclude of the search. By default, don't restrict the search.
46- includeInlineCitations (boolean) - Relevant only when outputType is sourcedAnswer. Defines whether the answer should include inline citations.
47- maxResults (number) - The maximum number of results to return.
48 
49```bash
50curl -s -X POST $GOOSEWORKS_API_BASE/v1/proxy/orthogonal/run \
51 -H "Authorization: Bearer $GOOSEWORKS_API_KEY" \
52 -H "Content-Type: application/json" \
53 -d '{"api":"linkup","path":"/search"}'
54 "q": "latest AI developments 2024",
55 "depth": "standard",
56 "outputType": "sourcedAnswer"
57}'
58```
59 
60### Fetch
61The /fetch endpoint allows you to fetch a single webpage from a given URL.
62 
63Parameters:
64- url* (string) - The URL of the webpage you want to fetch.
65- renderJs (boolean) - Defines whether the API should render the JavaScript of the webpage.
66- includeRawHtml (boolean) - Defines whether the API should include the raw HTML of the webpage in its response.
67- extractImages (boolean) - Defines whether the API should extract the images from the webpage in its response.
68 
69```bash
70curl -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":"linkup","path":"/fetch","body":{"url":"https://example.com/article"}}'
74```
75 
76## Use Cases
77 
781. **Research**: Search for information on any topic
792. **Content Aggregation**: Fetch and process web content
803. **Fact Checking**: Verify information from multiple sources
814. **News Monitoring**: Track news on specific topics
82 
83## Discover More
84 
85For full endpoint details and parameters:
86 
87```bash
88curl -s -X POST $GOOSEWORKS_API_BASE/v1/proxy/orthogonal/search \
89 -H "Authorization: Bearer $GOOSEWORKS_API_KEY" \
90 -H "Content-Type: application/json" \
91 -d '{"prompt":"linkup API endpoints"}' List all endpoints
92curl -s -X POST $GOOSEWORKS_API_BASE/v1/proxy/orthogonal/details \
93 -H "Authorization: Bearer $GOOSEWORKS_API_KEY" \
94 -H "Content-Type: application/json" \
95 -d '{"api":"linkup","path":"/search"}' # Get endpoint details
96```
97 

Discussion

Alternatives

Also in Services & APIs
Context7Pulls up-to-date, version-specific library docs and code examples into the prompt so the AI stops inventing old APIs.Coding · MITAdaptyv Bio Foundry APIHow to use the Adaptyv Bio Foundry API and Python SDK for protein experiment design, submission, and results retrieval. Use this skill whenever the user mentions Adaptyv, Foundry API, protein binding assays, protein screening experiments, BLI/SPR assays, thermostability assays, or wants to submit protein sequences for experimental characterization. Also trigger when code imports `adaptyv`, `adaptyv_sdk`, or `FoundryClient`, or references `foundry-api-public.adaptyvbio.com`.Science · MIT.NET Backend Development PatternsMaster C#/.NET backend development patterns for building robust APIs, MCP servers, and enterprise applications. Covers async/await, dependency injection, Entity Framework Core, Dapper, configuration, caching, and testing with xUnit. Use when developing .NET backends, reviewing C# code, or designing API architectures.Coding · MITAdd AI protectionProtect AI chat and completion endpoints from abuse — detect prompt injection and jailbreak attempts, block PII and sensitive info from leaking in responses, and enforce token budget rate limits to control costs. Use this skill when the user is building or securing any endpoint that processes user prompts with an LLM, even if they describe it as "preventing jailbreaks," "stopping prompt attacks," "blocking sensitive data," or "controlling AI API costs" rather than naming specific protections.Coding · CC0-1.0