Discover Substack newsletters by niche and export qualified leads for partnership outreach.
Letterly is a search tool that lets users find Substack newsletters by keyword or category, see key qualifying metrics (subscriber count, paid tier status, posting frequency), and export contact info for outreach.
- Smart Discovery - Search by keyword or browse 16 curated categories
- Qualified Leads - See subscriber counts, paid tiers, and posting frequency
- Export to CSV - Download contact info for outreach campaigns
- Free Tier - 5 free searches without an account
- Frontend: Next.js 14+ (App Router)
- Styling: Tailwind CSS
- Backend/Auth: Supabase
- Animations: Framer Motion
- Data Source: Apify Substack scraper API
- Deployment: Vercel
- Node.js 18+
- npm or yarn
- Supabase account (for auth)
- Apify account (optional, for live data)
- Clone the repository:
git clone <repository-url>
cd stack-finder- Install dependencies:
npm install- Set up environment variables:
cp .env.example .env.localEdit .env.local with your actual values:
NEXT_PUBLIC_SUPABASE_URL=your-supabase-project-url
NEXT_PUBLIC_SUPABASE_ANON_KEY=your-supabase-anon-key
APIFY_API_TOKEN=your-apify-api-token # Optional- Run the development server:
npm run devOpen http://localhost:3000 to see the app.
src/
├── app/ # Next.js App Router pages
│ ├── page.tsx # Homepage with search
│ ├── results/ # Search results page
│ ├── account/ # User account page
│ └── api/search/ # Search API endpoint
├── components/ # React components
│ ├── auth/ # Authentication components
│ ├── layout/ # Layout components (Header)
│ ├── providers/ # Context providers
│ ├── results/ # Results table components
│ ├── search/ # Search form components
│ └── ui/ # Reusable UI components
├── lib/ # Utility functions
│ ├── supabase/ # Supabase client setup
│ └── utils.ts # Helper functions
└── types/ # TypeScript type definitions
Without an Apify API token, the app runs in demo mode with mock data. This is useful for development and testing the UI without making API calls.
The easiest way to deploy is with Vercel:
- Push your code to a Git repository
- Import the project in Vercel
- Add your environment variables
- Deploy
MIT