Skip to main content

Filtering Reference

Every search method (fastSearch, bulkSearch, aiSearch) accepts the same set of optional filter parameters. All filter fields are backed by Zod enums exported from the nosible package, giving you full IntelliSense autocomplete and compile-time validation.

Importing Enum Types

import {
NosibleClient,
// Enum schemas (for runtime validation / .enum access)
languageEnum,
countryEnum,
continentEnum,
regionEnum,
sectorEnum,
industryGroupEnum,
industryEnum,
subIndustryEnum,
iabTier1Enum,
iabTier2Enum,
iabTier3Enum,
iabTier4Enum,
algorithmEnum,
brandSafetyEnum,
// TypeScript types (for type annotations)
type LanguageEnum,
type CountryEnum,
type ContinentEnum,
type RegionEnum,
type SectorEnum,
type IndustryGroupEnum,
type IndustryEnum,
type SubIndustryEnum,
type IabTier1Enum,
type IabTier2Enum,
type IabTier3Enum,
type IabTier4Enum,
type AlgorithmEnum,
type BrandSafetyEnum,
} from "nosible";

Brand Safety

Controls which brand-safety classifications of content are returned.

FieldTypeDescription
brandSafetyBrandSafetyEnumFilter by content safety level

Accepted values:

"Safe" | "Sensitive" | "Unsafe"
caution

Values are capitalized ("Safe", not "safe"). Passing a lowercase value will produce a TypeScript compile error.

const results = await client.fastSearch({
question: "technology funding rounds",
nResults: 20,
brandSafety: "Safe",
});

Language

Filters results to a specific language using ISO 639-1 two-letter codes.

FieldTypeDescription
languageLanguageEnumISO 639-1 language code

Example values: "en", "fr", "de", "es", "zh", "ja", "ar", "pt", "ru", "ko"

The full list covers 90 languages. See languageEnum for all codes.

const results = await client.fastSearch({
question: "intelligence artificielle",
nResults: 10,
language: "fr",
});

Geography

Filter results by geographic location at continent, region, or country level.

FieldTypeDescription
continentContinentEnumBroad continental region
regionRegionEnumSub-regional area
countryCountryEnumFull country name

Continent values

"Africa" | "Asia" | "Europe" | "North America" | "Oceania" | "South America" | "Worldwide"

Region values (selected)

"Caribbean" | "Central Africa" | "Central America" | "Central Asia" | "Central Europe" |
"East Africa" | "East Asia" | "Eastern Europe" | "Middle East" | "North Africa" |
"North America" | "Northern Europe" | "Oceania" | "South America" | "South Asia" |
"Southeast Asia" | "Southern Africa" | "Southern Europe" | "West Africa" | "Western Europe" |
"Worldwide" | ...

Country values (selected)

Use the full country name — not ISO codes.

"Worldwide" | "United States" | "United Kingdom" | "Germany" | "France" | "Japan" |
"China" | "India" | "Canada" | "Australia" | "Brazil" | ...

See countryEnum for all 196 country names.

const results = await client.fastSearch({
question: "startup ecosystem",
nResults: 30,
continent: "Europe",
region: "Western Europe",
country: "Germany",
});

Industry Classification (GICS)

Filter by Global Industry Classification Standard (GICS) hierarchy.

FieldTypeDescription
sectorSectorEnumGICS sector (broadest level)
industryGroupIndustryGroupEnumGICS industry group
industryIndustryEnumGICS industry
subIndustrySubIndustryEnumGICS sub-industry (most granular)

Sector values

"Communication Services" | "Consumer Discretionary" | "Consumer Staples" | "Energy" |
"Financials" | "Health Care" | "Industrials" | "Information Technology" | "Materials" |
"Real Estate" | "Utilities" | "Other"

Example: filtering by sector and industry

const results = await client.fastSearch({
question: "cloud infrastructure spending",
nResults: 25,
sector: "Information Technology",
industryGroup: "Software & Services",
industry: "Software",
subIndustry: "Application Software",
});

IAB Content Taxonomy

Filter by IAB Tech Lab Content Taxonomy categories (up to four levels of hierarchy).

FieldTypeDescription
iabTier1IabTier1EnumBroadest content category
iabTier2IabTier2EnumSub-category
iabTier3IabTier3EnumFurther sub-category
iabTier4IabTier4EnumMost granular category

IAB Tier 1 values

"Attractions" | "Automotive" | "Books and Literature" | "Business and Finance" |
"Careers" | "Communication" | "Crime" | "Disasters" | "Education" | "Entertainment" |
"Events" | "Family and Relationships" | "Fine Art" | "Food & Drink" | "Genres" |
"Healthy Living" | "Hobbies & Interests" | "Holidays" | "Home & Garden" | "Law" |
"Maps & Navigation" | "Medical Health" | "Personal Celebrations & Life Events" |
"Personal Finance" | "Pets" | "Politics" | "Pop Culture" | "Productivity" |
"Real Estate" | "Religion & Spirituality" | "Science" | "Sensitive Topics" |
"Shopping" | "Sports" | "Style & Fashion" | "Technology & Computing" | "Travel" |
"Video Gaming" | "War and Conflicts"

Example: filtering by IAB category

const results = await client.fastSearch({
question: "electric vehicle news",
nResults: 20,
iabTier1: "Automotive",
iabTier2: "Auto Technology",
iabTier3: "Green Vehicles",
});

Algorithm

The types of algorithms to use when scoring and ordering search results.

FieldTypeDescription
algorithmAlgorithmEnumRanking algorithm

Accepted values:

ValueDescription
"lexical"Perform a standard keyword search using BM25 scoring.
"string"Runs an exact-match full-text search, returning only documents that contain your query verbatim.
"hybrid-1"First executes a semantic search to capture conceptual matches, then refines with a lexical search.
"hybrid-2"First use lexical search to narrow results, then refines the results with a semantic search.
"hybrid-3"Our most cutting edge search algorithm. Beats everything else.
"baseline"Standard semantic search.
"hamming"Hamming distance similarity.
"company"Optimised for company-name queries.
const results = await client.fastSearch({
question: "merger and acquisition activity",
nResults: 50,
algorithm: "hybrid-2",
});

Combined Filtering Example

import {NosibleClient} from "nosible";

const client = new NosibleClient();

const results = await client.fastSearch({
question: "renewable energy investment",
nResults: 50,
algorithm: "hybrid-2",
brandSafety: "Safe",
language: "en",
continent: "Europe",
country: "Germany",
sector: "Energy",
iabTier1: "Science",
iabTier2: "Environment",
mustInclude: ["solar", "wind"],
mustExclude: ["nuclear"],
minSimilarity: 0.75,
publishStart: new Date("2024-01-01"),
});

console.log(`Found ${results.length} results`);

Other Filter Parameters

ParameterTypeDescription
nResultsnumberNumber of results (10–100 for fast, 1000–10000 for bulk)
nProbesnumber (1–10)Index probe depth — higher = more recall, slower
nContextifynumber (64–1024)Context window size for chunk matching
minSimilaritynumber (0–1)Minimum semantic similarity threshold
mustIncludestring[] (max 100)Terms that must appear in results
mustExcludestring[] (max 100)Terms that must not appear in results
companiesstring[] (max 30)Filter by company ticker symbols
publishStartDateEarliest publication date
publishEndDateLatest publication date
visitedStartDateEarliest crawl date
visitedEndDateLatest crawl date
certainbooleanOnly return results with high confidence
includeNetlocsstring[]Whitelist specific domains
excludeNetlocsstring[]Blacklist specific domains
sqlFilterstringRaw SQL filter expression