Linkup searches the open web, from a quick keyword pass to a multi-step deep search.
Features3
Modes5
Filters2
Playground
Results from Linkup
Features
Linkup delivers 3 of the features on the feature list, each from one or more of its modes.
| Feature | Returns |
|---|---|
| Web search (general) | Ranked pages from the open web that match a query, each with a passage. |
| Page text | The text of pages: the pages a query finds, read in full or as the passages that answer it, or the pages at given addresses. |
| Deep research | A multi-step search that reads many pages for a thorough, cited answer; slower than one search. |
Modes
Linkup has 5 search modes. Choose which of them a search may use under Routing on your account page.
- Default search
- Flash
- Fast
- Standard
- Deep
Filters Linkup applies
Set them under filters. A filter a provider can’t apply returns 400 unsupported_filter.
| Filter | Keeps |
|---|---|
domains | Only these sites, or with "mode": "exclude", none of them. |
recency | The last so many days, or a range of dates. |
request.jsonJSON
{
"query": "which language has the most native speakers",
"top_k": 5,
"requested_provider": "linkup",
"filters": {
"domains": { "values": ["en.wikipedia.org"] }
}
}
Pin a query to Linkup
- Over the HTTP API, send
"requested_provider": "linkup"with the query and your search key. - In an agent connected over MCP, ask it to search with Linkup.
Results come back in the same shape for every provider, as the docs describe. Leave the field out, and Grounder routes each query to the provider most likely to answer it well.
search.shShell
curl https://api.grounder.net/v1/search \
-H "Authorization: Bearer $GROUNDER_KEY" \
-H "Content-Type: application/json" \
-d '{
"query": "which language has the most native speakers",
"top_k": 5,
"requested_provider": "linkup"
}'
import os
import httpx
KEY = os.environ["GROUNDER_KEY"]
r = httpx.post(
"https://api.grounder.net/v1/search",
headers={"Authorization": f"Bearer {KEY}"},
json={
"query": "which language has the most native speakers",
"top_k": 5,
"requested_provider": "linkup",
},
timeout=30,
).json()
for hit in r["results"]:
print(hit["rank"], hit["title"], hit["url"])
const res = await fetch("https://api.grounder.net/v1/search", {
method: "POST",
headers: {
Authorization: `Bearer ${process.env.GROUNDER_KEY}`,
"Content-Type": "application/json",
},
body: JSON.stringify({
query: "which language has the most native speakers",
top_k: 5,
requested_provider: "linkup",
}),
})
const { results } = await res.json()
claude mcp add --transport http grounder \
https://api.grounder.net/mcp
# then /mcp, grounder, Authenticate