# Find a method

> Find the methods that fit a need, list a site's methods, and read a method's full contract before you run it.

Source: https://docs.fous.com/guides/search
Index: https://docs.fous.com/llms.txt

Search for the methods that fit a need, then read one's full contract before you run it.

```bash
curl --get 'https://api.fous.com/v1/search' \
  -H "Authorization: Bearer $FOUS_API_KEY" \
  --data-urlencode 'query=public holidays in Germany next year' \
  --data-urlencode 'limit=5'
```

```json
{
  "results": [
    {
      "id": "mth_01m5kvvywdeac8fxs7nh0sw68w",
      "slug": "date.nager.at/list_public_holidays",
      "name": "List public holidays",
      "description": "Lists a country's public holidays for a year from Nager.Date, with local names, regional coverage and holiday types.",
      "returns": "date, weekday, English and local names, regions, type, nationwide flag",
      "platform": { "name": "Nager.Date", "domain": "nager.at" },
      "input_schema": {
        "type": "object",
        "required": ["country"],
        "properties": {
          "year": {
            "type": "integer",
            "minimum": 1,
            "maximum": 9999,
            "description": "Calendar year, for example 2026. Defaults to the current year."
          },
          "country": {
            "type": "string",
            "description": "Country name or two-letter country code, for example Germany or DE."
          }
        }
      },
      "effect": "read",
      "auth": { "required": false },
      "cost": { "credits": 1 },
      "version": 2,
      "latest_version": 2
    }
  ],
  "match": "found"
}
```

| Parameter | Meaning |
| --- | --- |
| `query` | What you need, up to 500 characters. Name the data: `the 7-day forecast for Boston`, not `weather`. |
| `platform` | A domain or site name. With `query`, it searches only that site; alone, it lists the site's methods. |
| `limit` | 1 to 20 with a query, 5 by default. 1 to 100 when listing a site, 100 by default. |
| `suggest` | `true`: fast, unchecked results for text still being typed. |

Results come best first, at the version your organization uses. `status` shows only when a version is not `ready` ([Status and repairs](https://docs.fous.com/guides/status.md)).

## When nothing fits

`match: "none"` means no method does it yet; `related` may list methods that do part of it.

```json
{
  "results": [],
  "match": "none",
  "reason": "No method does this yet. Build one with POST /v1/builds (same query)."
}
```

Send the same request to [`POST /v1/builds`](https://docs.fous.com/guides/builds.md) to make the method, or get the data now with a [query](https://docs.fous.com/guides/auto.md).

## Read a method's contract

`GET /v1/methods/{slug}` or `{id}` adds the output schema, an example, `stats` and the versions. Add `@N` for one version.

```bash
curl 'https://api.fous.com/v1/methods/date.nager.at/list_public_holidays' \
  -H "Authorization: Bearer $FOUS_API_KEY"
```

```json
{
  "id": "mth_01m5kvvywdeac8fxs7nh0sw68w",
  "slug": "date.nager.at/list_public_holidays",
  "name": "List public holidays",
  "description": "Lists a country's public holidays for a year from Nager.Date, with local names, regional coverage and holiday types.",
  "returns": "date, weekday, English and local names, regions, type, nationwide flag",
  "platform": { "name": "Nager.Date", "domain": "nager.at" },
  "input_schema": {
    "type": "object",
    "required": ["country"],
    "properties": {
      "year": {
        "type": "integer",
        "minimum": 1,
        "maximum": 9999,
        "description": "Calendar year, for example 2026. Defaults to the current year."
      },
      "country": {
        "type": "string",
        "description": "Country name or two-letter country code, for example Germany or DE."
      }
    }
  },
  "effect": "read",
  "auth": { "required": false },
  "cost": { "credits": 1 },
  "version": 2,
  "latest_version": 2,
  "revision": 1,
  "pinned_version": null,
  "status": "ready",
  "versions": [
    {
      "version": 2,
      "revision": 1,
      "latest": true,
      "status": "ready",
      "created_at": "2026-10-22T16:02:41.000Z",
      "changes": "Adds output holidays[].regions."
    },
    {
      "version": 1,
      "revision": 2,
      "status": "ready",
      "created_at": "2026-10-21T09:12:05.000Z",
      "revised_at": "2026-10-24T03:10:19.000Z",
      "changes": ""
    }
  ],
  "visibility": "public",
  "output_schema": {
    "type": "object",
    "properties": {
      "country_name": { "type": "string" },
      "year": { "type": "integer" },
      "holidays": { "type": "array", "items": { "type": "object" } }
    }
  },
  "example": {
    "input": { "country": "Germany", "year": 2027 },
    "output": {
      "country_name": "Germany",
      "year": 2027,
      "holidays": [
        {
          "date": "2027-01-01",
          "weekday": "Friday",
          "english_name": "New Year's Day",
          "local_name": "Neujahr",
          "nationwide": "yes",
          "regions": [],
          "type": "Public"
        }
      ]
    }
  },
  "stats": {
    "success_rate": 1,
    "runs": 12,
    "last_success_at": "2026-10-23T08:24:36.410Z"
  },
  "owned": false
}
```

An unknown method answers `404 not_found` with `did_you_mean` and `suggestions`. Versions and pins are in [Manage methods](https://docs.fous.com/guides/methods.md#versions).
