An AI-powered conversational API explorer that helps developers interact with APIs through natural language queries.
- π€ AI-Powered Responses: Uses Google Gemini 2.5 Flash for intelligent, context-aware responses
- π¬ Natural Language Interface: Ask questions in plain English about any API
- π RAG-Powered Search: Retrieval-Augmented Generation for accurate, relevant responses
- π» Code Generation: Get ready-to-run code snippets with proper syntax highlighting
- π¨ Modern UI/UX: Beautiful, minimalistic interface with light/dark theme support
- π 10+ API Platforms: Comprehensive support for popular APIs
- β‘ Real-time: Instant responses with fast vector search
- GitHub - Repositories, search, issues, pull requests, and more
- YouTube - Videos, channels, playlists, comments, and more
- Spotify - Tracks, artists, albums, playlists, search, and more
- Twitter/X - Tweets, users, timelines, and more
- Google Maps - Geocoding, places, directions, and more
- Stripe - Payments, customers, subscriptions, and more
- OpenAI - Chat completions, embeddings, fine-tuning, and more
- OpenWeatherMap - Weather data, forecasts, and more
- Notion - Pages, databases, blocks, and more
- Reddit - Posts, comments, subreddits, and more
User Query β Embedding β Vector Search β Relevant Docs β LLM β Response
- Retrieval: Semantic search across API documentation using vector embeddings
- Augmentation: Context injection with most relevant documentation
- Generation: LLM generates responses using query + retrieved context
- Framework: Next.js 14 (App Router)
- Language: TypeScript
- Styling: Tailwind CSS
- AI: Google Gemini 2.5 Flash
- Vector Store: File-based with cosine similarity search
- Syntax Highlighting: React Syntax Highlighter
- Node.js 18+ and npm/yarn
- Google Gemini API key (free tier available)
-
Clone the repository
git clone https://github.com/ChiragArora31/API-Talks.git cd API-Talks -
Install dependencies
npm install
-
Set up environment variables
Create a
.env.localfile in the root directory:GEMINI_API_KEY=your_gemini_api_key_here
Get your free API key from Google AI Studio
-
Run the development server
npm run dev
-
Open your browser
Navigate to http://localhost:3000
-
Ask questions naturally
- "How to generate embeddings using OpenAI API?"
- "Show me how to search for tracks using Spotify API"
- "How do I create a payment intent with Stripe?"
-
Get instant responses
- Contextual explanations
- Ready-to-run code snippets
- Properly formatted and highlighted
-
Toggle themes
- Click the theme toggle button (top right)
- Switch between light and dark modes
API-Talks/
βββ app/
β βββ api/
β β βββ chat/ # Chat API endpoint
β β βββ init-vector-store/ # Vector store initialization
β βββ globals.css # Global styles
β βββ layout.tsx # Root layout with theme provider
β βββ page.tsx # Home page
βββ components/
β βββ ChatInterface.tsx # Main chat UI component
β βββ ThemeProvider.tsx # Theme context provider
β βββ ThemeToggle.tsx # Theme toggle button
βββ lib/
β βββ documentation-fetcher.ts # API documentation fetcher
β βββ embedding-service.ts # Vector embedding generator
β βββ vector-store.ts # Vector database
β βββ rag-service.ts # RAG orchestration
β βββ code-generator.ts # Code snippet generator
β βββ llm-service.ts # LLM integration
βββ .gitignore
βββ package.json
βββ README.md
The vector store is automatically initialized on first use. It stores embeddings for all API documentation in .vector-store.json (git-ignored).
To manually reinitialize:
# Via API
curl -X POST http://localhost:3000/api/init-vector-storeGEMINI_API_KEY- Required for AI-powered responses- Without API key, the app will show an error (API key is required)
npm run build
npm startnpm run lint- Modern Design: Clean, minimalistic interface
- Theme Support: Light and dark modes with smooth transitions
- Code Highlighting: Professional syntax highlighting for code blocks
- Responsive: Works seamlessly on desktop and mobile
- Copy to Clipboard: One-click code copying
- Never commit
.env.localor API keys - Vector store file (
.vector-store.json) is git-ignored - All sensitive files are excluded via
.gitignore
Contributions are welcome! Feel free to:
- Add support for more APIs
- Improve code generation logic
- Enhance UI/UX
- Add new features
- Fix bugs
MIT License - feel free to use this project for personal or commercial purposes.
- Built with Next.js
- Powered by Google Gemini
- Styled with Tailwind CSS
For questions or suggestions, please open an issue on GitHub.
Made with β€οΈ for developers