# Como buscar medicamento por nome via API

Implemente busca de medicamentos no Brasil com filtros, paginação, detalhes por UUID e tratamento de ausência de resultados.

Canonical: https://iabula.com/docs/guides/buscar-medicamento-por-nome

## Do campo de busca ao registro

Para uma interface de catálogo, envie o texto do usuário como q em Search e apresente a lista devolvida. A busca por substring permite explorar registros relacionados ao texto; não prova que a primeira linha seja uma identidade correta. Deixe o usuário inspecionar forma e evidência antes de escolher um registro.

```javascript
// Run on your server. Keep the API key out of browser bundles.
const url = new URL("/v1/medications/search", process.env.IABULA_API_BASE);
url.search = new URLSearchParams({ q: "dipirona", limit: "20" });
const response = await fetch(url, {
  headers: { "X-API-Key": process.env.IABULA_API_KEY },
});
const page = await response.json();
if (!response.ok) throw new Error(`${response.status}: ${page.code}`);
console.log(page.data, page.next_cursor);
```

## Evite misturar páginas de consultas diferentes

Ao trocar o nome pesquisado, descarte next_cursor e resultados anteriores. Preserve os filtros ao carregar a página seguinte e passe o cursor de forma opaca. Em uma interface de autocomplete, limite o tamanho da entrada, aplique debounce e cancele requisições antigas no seu cliente.

## Detalhes e ausência de resultados

Use o UUID devolvido em GET /v1/medications/{id}. Trate campos nulos e listas vazias sem completar informação por suposição. Se data estiver vazia, informe que a consulta não encontrou registros na cobertura atual; não conclua que o produto não existe ou não possui registro regulatório.

- [Search e parâmetros](https://iabula.com/docs/medications)
- [Quando usar Resolve](https://iabula.com/docs/resolve)

## Recursos

- [OpenAPI JSON](https://iabula.com/openapi.json)
- [Swagger](https://iabula.com/docs/swagger)
- [Documentation index](https://iabula.com/llms.txt)
