{"grammar_version":"1","grammar":"field op value [, value ...]   AND tighter than OR; '-x' or 'NOT x' for negation; '(...)' for grouping; 'tag@evidence' for service_provided. Any bareword (a word or number with no operator after it) becomes a keyword:<bareword> free-text search.","fields":[{"name":"industry","kind":"categorical","description":"High-level industry classification (single-valued).","operators":[":"]},{"name":"service_model","kind":"categorical","description":"Firm structure / delivery model.","operators":[":"]},{"name":"geography_served","kind":"categorical","description":"Geographic scope a firm serves (city_local, multi_state_regional, national_US, international, unknown).","operators":[":"]},{"name":"company_size_signal","kind":"categorical","description":"Estimated firm size bucket (solo, small_2_10, medium_10_50, large_50plus).","operators":[":"]},{"name":"state","kind":"categorical","description":"US state (two-letter postal code).","operators":[":"]},{"name":"pricing_model","kind":"categorical","description":"Pricing structure where disclosed (hourly, project, tiered, quote_on_request, unknown, …).","operators":[":"]},{"name":"service_provided","kind":"tag_set_with_evidence","description":"Multi-tag taxonomy of services offered. Each tag carries an evidence level (low|medium|high). Use service_provided:seo for any evidence; service_provided:seo@medium to require >= medium; @high for high only.","operators":[":"]},{"name":"rating","kind":"numeric","description":"Average aggregated star rating across third-party directories (1.0–5.0).","operators":["=",">=","<=",">","<"]},{"name":"review_count_total","kind":"numeric","description":"Total review count summed across third-party directory listings.","operators":["=",">=","<=",">","<"]},{"name":"rating_n_sources","kind":"numeric","description":"Number of distinct directory sources contributing rating data.","operators":["=",">=","<=",">","<"]},{"name":"founded_year","kind":"numeric","description":"Year the firm was founded, where disclosed.","operators":["=",">=","<=",">","<"]},{"name":"linkedin_followers","kind":"numeric","description":"LinkedIn company-page follower count.","operators":["=",">=","<=",">","<"]},{"name":"linkedin_employees","kind":"numeric","description":"LinkedIn-reported employee count.","operators":["=",">=","<=",">","<"]},{"name":"glassdoor_rating","kind":"numeric","description":"Glassdoor employer rating (1.0–5.0).","operators":["=",">=","<=",">","<"]},{"name":"has","kind":"presence","description":"Whether a structured field or third-party listing is populated. Values: bbb, capterra, city, clutch, crunchbase, designrush, email, g2, glassdoor, goodfirms, legal_name, linkedin_company, phone, pricing, rating, services, state, themanifest, trustpilot, upcity, wikidata, wikipedia, yelp.","operators":[":"],"value_count":23},{"name":"keyword","kind":"keyword","description":"Free-text keyword search (case-insensitive substring) across firm name, brand name, page title, meta description, and legal name. Any bareword in the filter — a word or number not followed by an operator — is automatically interpreted as keyword:<bareword>. Multiple barewords are ANDed (each must match somewhere in the firm text). Multi-word phrases are not supported as a single token; pass them as separate keywords. Examples: `dental industry:marketing_agency`, `keyword:web3 OR keyword:blockchain`.","operators":[":"]}]}