Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.law4devs.eu/llms.txt

Use this file to discover all available pages before exploring further.

Overview

The search resource provides full-text search across all framework content — articles, recitals, and requirements. Results include a matchContext snippet showing the matched text in context.

Methods

query()

Execute a full-text search and return a page of results.
const results = await client.search.query('data breach notification', {
  framework: 'gdpr',
  resultType: 'article',
  page: 1,
  perPage: 20,
});

console.log(`Found ${results.meta.total} matching articles`);

for (const result of results.data) {
  console.log(`[${result.type}] ${result.frameworkName} Art. ${result.articleNumber}: ${result.title}`);
  console.log(`  ...${result.matchContext}...`);
  console.log(`  ${result.url}`);
}
Parameters
ParameterTypeDefaultDescription
querystringrequiredSearch terms
frameworkstringFilter results to a specific framework slug
resultTypestringFilter by content type: "article", "recital", or "requirement"
pagenumber1Page number
perPagenumber20Items per page (1–100)
Returns Promise<Page<SearchResult>>
meta.pages is always 0 for search results. This is an endpoint limitation — use meta.total and links.next to determine if more results exist.

iter()

Iterate over all search results without managing pagination.
for await (const result of client.search.iter('security requirements')) {
  console.log(`[${result.type}] ${result.frameworkName}${result.title ?? result.requirementType}`);
}
Parameters — same options as query() (except page, which is managed internally). Returns AsyncGenerator<SearchResult>

Model

SearchResult

FieldTypeDescription
typestringResult type: "article", "recital", or "requirement"
frameworkSlugstringParent framework slug
frameworkNamestringParent framework display name
articleNumbernumber | nullArticle number (for article and requirement results)
recitalNumbernumber | nullRecital number (for recital results)
paragraphRefstring | nullSource paragraph reference
titlestring | nullArticle title (for article results)
requirementTypestring | nullRequirement type (for requirement results)
matchContextstringSnippet of text surrounding the match
urlstringDeep link to the matched item in the API

Examples

Search for a concept across all frameworks

const results = await client.search.query('legitimate interest');

for (const result of results.data) {
  const ref = result.articleNumber
    ? `Art. ${result.articleNumber}`
    : `Recital ${result.recitalNumber}`;
  console.log(`${result.frameworkName} ${ref}: ...${result.matchContext}...`);
}

Collect all requirement results mentioning a term

const requirementMatches: SearchResult[] = [];

for await (const result of client.search.iter('incident response', {
  resultType: 'requirement',
})) {
  requirementMatches.push(result);
}

console.log(`Found ${requirementMatches.length} matching requirements`);
Combine resultType: 'article' with iter() for a simple way to find every article across all frameworks that mentions a specific term — no need to iterate frameworks first.