# langsearch_search

tool by [@c0va23](/marketplace/@c0va23/tools)

A tool that fetches api.langsearch.com.

- First published 2026-10-27 · release 2 on 2026-10-28
- [Download release 2](/marketplace/listings/01a17d90-47f5-7511-b72e-ca1f4feb90c9/latest.bylm.json)
- [0 stars](/marketplace/listings/01a17d90-47f5-7511-b72e-ca1f4feb90c9/stars)
- Needs a key: **LangSearch** — sent to https://api.langsearch.com.

## What it holds

### What the model is told

**Tool the model sees**: `fetch_url-langsearch_search`

```text
Search the live web with the LangSearch Web Search API (POST https://api.langsearch.com/v1/web-search). Returns ranked results with title, URL, publication date and page text (or a snippet). Use it to find relevant pages, then pass the best result URLs to the fetch_url-markdown_new tool to read the full page. Treat search results as a ranking, not an answer.
```

### Request

**Method and address**: `POST https://api.langsearch.com/v1/web-search`

**Headers sent**:

- `Authorization: Bearer {secrets.apiKey}`

**Body**: `application/json`

```json
{
  "query": "{query}",
  "count": {count},
  "freshness": "{freshness}",
  "contents": {
    "text": {"maxCharacters": {maxCharacters}}
  }
}
```

**Accepted responses**: `application/json`

### Arguments the model passes

| Name | Type | Required | Default | Description |
| --- | --- | --- | --- | --- |
| `query` | string | yes |  | The search query. Write it like a person would type into a search engine. You can include a site: restriction in the query. |
| `count` | integer | no | `5` | How many results to return (1-50). 5 is a good default. |
| `freshness` | string | no | `"noLimit"` | Result freshness filter: noLimit, oneDay, oneWeek, oneMonth, oneYear, a single date (YYYY-MM-DD), or a date range (YYYY-MM-DD..YYYY-MM-DD). |
| `maxCharacters` | integer | no | `5000` | Per-result character limit for the full page text (positive integer). 5000 is the default. |

### Responses

**Statuses that are errors**: 400 to 599

**A response filtered to nothing is an error**: no

**What the model reads for an error**: The status line, then the body

**Retries**: A 429 or a 503 is sent again, 3 times at most, waiting 1000 ms first and doubling, 60000 ms at most

**Kept for the app's response details screen**: the first 65536 characters of the body and of each filter's output; the model never reads them

### Filters over the response, in order

#### Step 1

A jq program, giving `text/markdown`

```
def clip: if (length > 800) then .[0:800] + " ..." else . end;
def body: ((.text // .snippet // "") | clip);
[ .data.webPages.value[] |
    "### " + (.name // "(untitled)")
    + "\nURL: " + (.url // "")
    + (if ((.datePublished // "") | length) > 0 then "\nPublished: " + .datePublished else "" end)
    + "\n\n"
    + (if ((body | length) > 0) then body else "(no text returned)" end)
] | if length == 0 then "No results were returned for this query." else join("\n\n---\n\n") end
```

When the program outputs several values, only the first is passed on. A string is passed on without its quotes.

### Keys

**`apiKey`**: **LangSearch**, an API key

## Downloads

Downloaded 7 times directly. Included in 3 downloads of other listings. 7 downloads in the last 30 days.

## Releases

| Release | Published | Downloads | File |
| --- | --- | --- | --- |
| [2](/marketplace/listings/01a17d90-47f5-7511-b72e-ca1f4feb90c9/releases/2) | 2026-10-28 | [4](/marketplace/listings/01a17d90-47f5-7511-b72e-ca1f4feb90c9?release=2) | [download](/marketplace/listings/01a17d90-47f5-7511-b72e-ca1f4feb90c9/v/2.bylm.json) |
| [1](/marketplace/listings/01a17d90-47f5-7511-b72e-ca1f4feb90c9/releases/1) | 2026-10-27 | [3](/marketplace/listings/01a17d90-47f5-7511-b72e-ca1f4feb90c9?release=1) | [download](/marketplace/listings/01a17d90-47f5-7511-b72e-ca1f4feb90c9/v/1.bylm.json) |

---

[Bring Your LM](/) · [Docs](/docs/features) · [Marketplace](/marketplace)

[Articles](/articles) · [Releases](/releases) · [Bundle Format](/marketplace/bundle-format) · [Marketplace Terms](/terms) · [App Privacy](/privacy) · [Website Privacy](/website-privacy) · [Open Source](/open-source) · [llms.txt](/llms.txt)
