The search of Invantive Cloud Documentation is available to integrators and agents in several forms. They answer the same results as the search page.
## Search as Markdown
The address `/{lang}/search.md?q={terms}` answers the results as Markdown: a list of links to the `.md` addresses of the pages with a short text, followed by a table with the counts of the filters. Filters are added as further parameters named after the filter, such as `source=docs` or `source=datamodel`, and `page` asks for a further page of results.
The following example searches the data models for invoices in English:
```text
curl "https://documentation.invantive.eu/en/search.md?q=invoice&source=datamodel"
```
Search result pages are left out of the index of search engines, both as HTML and as Markdown.
## OpenSearch
The file `/opensearch.xml` is an [OpenSearch description](https://github.com/dewitt/opensearch) of the site. Every page links to it, so a browser can offer the site as a search engine. It names the search page and its Markdown form as templates with `{searchTerms}`.
## Structured Data
Every page carries the structured data `WebSite` of [schema.org](https://schema.org/) with a `SearchAction`, whose address template is `https://documentation.invantive.eu/{lang}/search?q={search_term_string}`.
## Public Statistics
The search service behind the site answers two addresses without a key, at `https://search.invantive.eu`:
- `GET /api/v1/stats`: the languages served, the number of pages per source and the number of indexed sections per language, as JSON.
- `GET /api/v1/stats/providers`: per platform the number of tables and views in its data model, as JSON.
The following example shows the start of the answer of `/api/v1/stats/providers`:
```json
[
{
"provider": "accountview",
"tables": 462,
"views": 0
},
...
]
```
The other addresses of the search service are not public; integrators use the search as Markdown instead.