# Natural Language Search

Natural Language Search retrieves records by meaning rather than requiring exact terms.

## Endpoints

- `GET /v1/icd/nl-search`
- `GET /v1/icdb/nl-search`

## Example

```bash
curl --request GET \
  --url "https://api.intelcenter.com/v1/icd/nl-search?search=emergency%20response%20and%20public%20safety&source_component=video&top_k=10" \
  --header "Authorization: Bearer YOUR_API_KEY"
```

## Parameters

| Parameter | Required | Purpose |
|---|---:|---|
| `search` | Yes | Descriptive query |
| `country` | No | Primary-country filter |
| `entity` | No | Entity filter |
| `source_component` | No | Component-type filter |
| `date_from` | No | Earliest date, `YYYY-MM-DD` |
| `date_to` | No | Latest date, `YYYY-MM-DD` |
| `page` | No | One-based page |
| `per_page` | No | Requested page size |
| `top_k` | No | Retrieval candidate limit |

The [API Reference](/api) is authoritative for bounds and endpoint-specific behavior.

## Response

Results include the canonical `title`, summary and source metadata when available, plus a relevance `score`. A score is a comparative retrieval signal; it is not a probability, a truth rating, or an authorization indicator.

## When Not to Use It

- For a known Component ID, use direct Component ID lookup.
- For a known UUID, use the detail endpoint.
- For exact terms and filters, structured search is usually more efficient.
- For a synthesized answer, use Domain GenAI.
