Knowledge > Products > PewSearch Directory
PewSearch Directory Overview
What It Is
PewSearch is a church directory with 218,000+ visible listings across the United States. Its tagline is "Find Your Church" -- a free, public search engine that helps visitors, church shoppers, pastors, and church planters discover congregations by location, denomination, theological tradition, and keyword.
PewSearch is also the primary discovery channel for ChurchWiseAI. Churches that appear in the directory can claim their listing, upgrade to a Premium Page ($9.95/mo), and from there be upsold into ChurchWiseAI AI products (Voice Agent, Chatbot). PewSearch is a funnel, not a standalone product -- its job is to surface churches and create upgrade opportunities.
Key Numbers
| Metric | Value | Notes |
|---|---|---|
Total rows in churches | ~261K | Includes hidden and closed |
| Visible listings | ~218K | directory_visible=true AND business_status='OPERATIONAL' |
| Hidden listings | ~42K | directory_visible=false -- bad data, duplicates, non-churches |
| Denominations tracked | ~200+ | Grouped into families via denominations table |
| Theological lenses | 18 | 17 traditions + 1 universal lens |
| Premium subscribers | 4 | All founder test accounts (as of March 2026) |
| States covered | 50 + DC + territories | Every US state with church data |
CRITICAL: The visible count is ~218K, not 261K. Every query that displays churches to users or counts churches for marketing MUST filter on directory_visible=true and business_status='OPERATIONAL'. Using the raw row count is a recurring agent error.
Technology Stack
| Component | Technology |
|---|---|
| Framework | Next.js 16 |
| Hosting | Vercel |
| Package manager | pnpm |
| Database | Supabase (shared instance) |
| Maps | Leaflet (client-side) |
| Payments | Stripe |
| Auth | Token-based (magic link for admin) |
| Deploy branch | master |
| Domain | pewsearch.com |
| DNS | Vercel (pewsearch.com is the only domain on Vercel DNS) |
Site Map -- Primary Pages
| Page | Route | Purpose |
|---|---|---|
| Home | / | Hero search bar, featured churches, denomination links |
| Directory | /directory | Main search results with filters, map, pagination |
| Church detail | /churches/[slug] | Individual church page (SEO-indexed) |
| Denominations index | /denominations | Browse all denominations by family |
| Denomination detail | /denominations/[slug] | Churches in a specific denomination |
| Claim flow | /claim/[slug] | Pastor claims ownership of a listing |
| Admin dashboard | /admin/[token] | Premium Page management (directory features only) |
| Pro Website | /s/[slug] or {vanity}.pewsearch.com | Premium hosted church website (vanity subdomain via middleware) |
| Pricing | /pricing | Premium Page pricing page |
| Blog | /blog | SEO content for organic traffic |
Revenue Model
PewSearch has one direct revenue product and one upsell path:
Direct Revenue: Premium Pages ($9.95/mo)
A church claims its listing and pays $9.95/mo for enhanced directory features:
- Custom hours, staff, ministries, "what to expect" content
- Priority placement in search results
- Verified badge on listing
- Contact form submissions delivered to pastor
- Pro Website hosted page (
/s/[slug]or{vanity}.pewsearch.comsubdomain) - Basic chatbot (auto-provisioned, receptionist-level)
Upsell Revenue: ChurchWiseAI AI Products
Premium Page subscribers see upgrade CTAs throughout the admin dashboard. The upgrade path:
Free listing → Claim ($0) → Premium Page ($9.95/mo) → ChurchWiseAI AI products ($14.95-99.95/mo)
ChurchWiseAI products (Voice Agent, Chatbot tiers, bundles) are managed entirely on churchwiseai.com. PewSearch surfaces the upsell but does not own the product, billing, or admin.
Database Schema -- Core Columns
The churches table is the single source of truth for all directory data. Key columns:
| Column | Type | Notes |
|---|---|---|
id | UUID | Primary key |
name | TEXT | Church display name |
slug | TEXT | URL-safe identifier, unique |
address | TEXT | Full formatted address |
street | TEXT | Street portion only |
city | TEXT | City name |
state | TEXT | Full state name |
state_code | TEXT | Two-letter ISO code (TX, CA, etc.) |
zip_code | TEXT | ZIP/postal code |
latitude | FLOAT | Geolocation |
longitude | FLOAT | Geolocation |
phone | TEXT | Primary phone number |
website | TEXT | Church website URL |
category | TEXT | Google Maps category |
subtypes | TEXT[] | Additional categories |
denomination | TEXT | Raw denomination string from data source |
rating | FLOAT | Google Maps rating (1-5) |
reviews_count | INT | Google Maps review count |
photos_count | INT | Number of photos available |
photo_url | TEXT | Primary photo URL |
logo_url | TEXT | Church logo URL |
description | TEXT | Church description |
about | JSONB | Rich metadata (~20 fields: amenities, accessibility, etc.) |
working_hours | JSONB | {"Sunday": ["9:00 AM", "11:00 AM"], ...} |
google_maps_url | TEXT | Link to Google Maps listing |
is_premium | BOOLEAN | Whether church has active Premium subscription |
directory_visible | BOOLEAN | Whether church appears in directory |
business_status | TEXT | OPERATIONAL, CLOSED_PERMANENTLY, etc. |
website_scraped_at | TIMESTAMPTZ | Last content scrape timestamp |
created_at | TIMESTAMPTZ | Record creation date |
Mandatory Query Filters
Every query that returns churches for display MUST apply these filters:
-- Pseudocode for all directory queries
SELECT * FROM churches
WHERE directory_visible = true
AND business_status = 'OPERATIONAL'
-- plus any user-specified filters (state, denomination, search, etc.)
ORDER BY ...
LIMIT ... OFFSET ...
Omitting either filter will include hidden/closed churches and inflate counts.
Data Sources
| Source | Cost | Quality | Volume | What It Provides |
|---|---|---|---|---|
| OpenStreetMap Overpass API | Free | Moderate | High | Name, address, denomination, basic metadata |
| Outscraper / Google Maps API | $3/1K records | High | High | Photos, hours, reviews, rating, detailed metadata |
| Community submissions | Free | Highest | Low | Pastor-verified data via claim flow |
| Website scraping | Free | Variable | Medium | About text, staff, ministries (enrichment) |
Data quality issues are documented in Data Quality.
Relationship to Other Products
PewSearch is an integration -- an optional distribution channel for ChurchWiseAI, not a dependency.
PewSearch (distribution) ChurchWiseAI (product)
┌─────────────────────┐ ┌──────────────────────────┐
│ 218K+ church │ │ Voice Agent │
│ listings │ ──upsell──> Chatbot (full tiers) │
│ │ │ Admin dashboard │
│ Premium Pages │ │ All AI product billing │
│ ($9.95/mo) │ │ ($14.95-99.95/mo) │
│ │ │ │
│ Basic chatbot │ │ Manages its own │
│ (auto-provisioned) │ │ customers independently │
└─────────────────────┘ └──────────────────────────┘
A church can buy ChurchWiseAI without ever visiting PewSearch. The PewSearch admin (/admin/[token]) handles Premium Page management only -- it does NOT manage Voice Agent, Chatbot tiers, or any AI product configuration.
Ownership Boundaries
| Owned by PewSearch | NOT owned by PewSearch |
|---|---|
| Church directory listings | Voice Agent configuration |
| Search and filtering | Chatbot agent tools (beyond basic) |
| Church detail pages | AI product billing |
| Premium Page features | AI product admin dashboard |
| Claim flow | Knowledge base management |
| Denomination taxonomy | Analytics beyond directory metrics |
| Pro Website hosting | Social media tools (ShareWiseAI) |
| Contact form submissions | Sermon tools (SermonWise) |
See Also
- Church Detail Page -- what appears on individual church pages
- Search System -- how search, filtering, and pagination work
- Denomination Taxonomy -- denomination families and theological lenses
- Data Quality -- known data issues and mitigation strategies
- Pro Website Overview -- the Premium Page hosted website feature
- Premium Page Overview -- the $9.95/mo subscription product