A GSoC 2026 Proof of Concept Project for API Bash
An intelligent API discovery and exploration platform that automatically processes OpenAPI specifications, generates a searchable registry, and provides AI-powered natural language search capabilities.
- Problem Statement
- Solution
- Features
- Tech Stack
- Project Structure
- Quick Start
- API Documentation
- CI/CD Pipeline
- Troubleshooting
- Screenshots
- Future Improvements
- Contributing
- Author
Developers often struggle with:
- API Discovery: Finding the right API for their needs among hundreds of options
- Manual Documentation: Reading through lengthy API documentation to understand endpoints
- Integration Complexity: Understanding authentication, request formats, and response structures
- Time Waste: Spending hours searching for APIs instead of building features
API Explorer Pipeline automates the entire API discovery workflow:
- Automated Processing: Batch processes OpenAPI specifications (JSON/YAML)
- Intelligent Registry: Generates a searchable, categorized API registry
- AI-Powered Search: Natural language queries like "get users" or "weather forecast"
- Ready-to-Use Templates: Auto-generates curl and PowerShell commands
- Visual Interface: Browse, filter, and explore APIs through an intuitive UI
- Batch processes multiple OpenAPI 3.0 specifications
- Supports both JSON and YAML formats
- Extracts endpoints, authentication, and metadata
- Generates normalized API registry
- Modular registry system with global index
- Individual API folders with metadata and specs
- Automatic categorization (AI, Finance, Weather, Social, etc.)
- Version tracking and update management
- RESTful API endpoints for registry access
- Category-based filtering
- Real-time API statistics
- CORS-enabled for frontend integration
- Natural language query processing
- Intent detection (get, create, update, delete)
- Entity extraction (users, pets, products, etc.)
- Confidence scoring and ranking
- Multiple result suggestions
- Clean, modern UI for API exploration
- Search and filter capabilities
- Method-based filtering (GET, POST, PUT, DELETE)
- Category and authentication type filters
- Copy-to-clipboard for code templates
- Auto-generates curl commands
- PowerShell script generation
- Includes authentication headers
- Request body examples for POST/PUT
- Automated testing on every push
- Multi-stage validation pipeline
- Integration testing
- Artifact uploads for debugging
| Component | Technology | Purpose |
|---|---|---|
| Pipeline | Python 3.9+ | OpenAPI processing and registry generation |
| Backend | Node.js 18+ | API server and AI search engine |
| Frontend | HTML5, CSS3, Vanilla JS | User interface |
| CI/CD | GitHub Actions | Automated testing and deployment |
| Data Format | JSON, YAML | OpenAPI specifications |
| Package Management | pip, npm | Dependency management |
- Python: PyYAML (YAML parsing)
- Node.js: Express (web server), CORS (cross-origin support)
- Frontend: Fetch API (HTTP requests)
gsoc-poc/
โโโ .github/
โ โโโ workflows/
โ โโโ main.yml # CI/CD pipeline configuration
โโโ projects/
โ โโโ api-explorer-pipeline/
โ โโโ data/ # OpenAPI specification files
โ โ โโโ *.json # JSON format specs
โ โ โโโ *.yaml # YAML format specs
โ โโโ pipeline/ # Processing pipeline
โ โ โโโ batch_processor.py # Main batch processor
โ โ โโโ parser.py # OpenAPI parser
โ โ โโโ template_generator.py # Template generator
โ โ โโโ registry_manager.py # Registry management
โ โโโ backend/ # Node.js backend server
โ โ โโโ simple-server.js # Express server
โ โ โโโ agent_tools.js # AI search engine
โ โ โโโ package.json # Node dependencies
โ โโโ frontend/ # Web interface
โ โ โโโ index.html # Main HTML page
โ โ โโโ script.js # Frontend logic
โ โ โโโ style.css # Styling
โ โ โโโ serve.js # Frontend server
โ โโโ registry/ # Generated API registry
โ โ โโโ global_index.json # Master registry file
โ โโโ apis/ # Individual API data
โ โ โโโ {api-id}/
โ โ โโโ metadata.json # API metadata
โ โ โโโ openapi.json # Full OpenAPI spec
โ โโโ api_templates/ # Generated templates
โ โโโ requirements.txt # Python dependencies
โโโ README.md # This file
- Python 3.9 or higher
- Node.js 18 or higher
- Git Bash (for Windows) or Terminal (for Mac/Linux)
For Windows (Git Bash):
cd /c/Users/YOUR_USERNAME/Documents
git clone https://github.com/Niharikajakkula/gsoc-poc.gitFor Mac/Linux:
cd ~/Documents
git clone https://github.com/Niharikajakkula/gsoc-poc.gitcd /c/Users/YOUR_USERNAME/Documents/gsoc-poc/projects/api-explorer-pipeline
pip install -r requirements.txtExpected Output:
Successfully installed PyYAML-6.0
cd /c/Users/YOUR_USERNAME/Documents/gsoc-poc/projects/api-explorer-pipeline/backend
npm installExpected Output:
added 50 packages in 5s
This step reads all API files and creates a searchable registry.
cd /c/Users/YOUR_USERNAME/Documents/gsoc-poc/projects/api-explorer-pipeline
python pipeline/batch_processor.py data --clearExpected Output:
API Explorer Pipeline - Batch Processor
========================================
Found 13 file(s)
[SUCCESS] Added API: Auth Examples API (2 endpoints)
[SUCCESS] Added API: Pet Store API (7 endpoints)
...
โ
Total APIs in registry: 13
โ
Templates generated: 40
Open a NEW terminal/Git Bash window and run:
cd /c/Users/YOUR_USERNAME/Documents/gsoc-poc/projects/api-explorer-pipeline/backend
node simple-server.jsExpected Output:
๐ค Agent Tools: Loaded 13 APIs from global_index.json
๐ API Explorer Backend running on port 3002
๐ Server URL: http://localhost:3002
โ Backend is now running! Keep this window open.
Open browser and go to: http://localhost:3002
Open ANOTHER NEW terminal/Git Bash window and run:
cd /c/Users/YOUR_USERNAME/Documents/gsoc-poc/projects/api-explorer-pipeline/frontend
node serve.jsExpected Output:
Frontend server running on http://localhost:3001
โ Frontend is now running! Keep this window open.
Open in browser: http://localhost:3001
You should now have:
- โ Backend running on http://localhost:3002
- โ Frontend running on http://localhost:3001
- โ 13 APIs ready to explore
Test the AI search by running this in a NEW terminal:
curl -X POST http://localhost:3002/agent/tools/search \
-H "Content-Type: application/json" \
-d '{"query":"get users"}'Expected: You'll see JSON response with API matches!
When you're done:
- Go to the terminal running backend
- Press
Ctrl + C - Go to the terminal running frontend
- Press
Ctrl + C
Solution:
# Try python -m pip instead
python -m pip install -r requirements.txt
# Or install pip first
python -m ensurepip --upgradeSolution: Install Node.js from https://nodejs.org/
Solution:
# Kill the process using port 3002
# Windows (Git Bash):
taskkill //F //IM node.exe
# Mac/Linux:
pkill -f "node simple-server.js"Solution:
cd /c/Users/YOUR_USERNAME/Documents/gsoc-poc/projects/api-explorer-pipeline/backend
rm -rf node_modules
npm installSolution:
# Step 1: Process the APIs first
cd /c/Users/YOUR_USERNAME/Documents/gsoc-poc/projects/api-explorer-pipeline
python pipeline/batch_processor.py data --clear
# Step 2: Then start backend
cd /c/Users/YOUR_USERNAME/Documents/gsoc-poc/projects/api-explorer-pipeline/backend
node simple-server.jsProblem 6: Can't access http://localhost:3002
Check:
- Is the backend server running? (Check the terminal)
- Did you see "๐ API Explorer Backend running on port 3002"?
- Try http://127.0.0.1:3002 instead
- Check the Issues page
- Create a new issue with:
- Your operating system
- Error message (copy-paste)
- Steps you tried
http://localhost:3002
GET /apisQuery Parameters:
category(optional): Filter by category (AI, Finance, Weather, Social, General)
Response:
{
"success": true,
"count": 13,
"totalCount": 13,
"apis": [
{
"id": "eabdaadb1a37",
"name": "Auth Examples API",
"baseUrl": "https://api.example.com/v1",
"authType": "apiKey",
"endpointCount": 2,
"category": "Social",
"rating": 3.9
}
],
"categories": ["AI", "Finance", "Weather", "Social", "General"]
}GET /categoriesResponse:
{
"success": true,
"categories": ["AI", "Finance", "Weather", "Social", "General"],
"stats": {
"AI": 2,
"Finance": 1,
"Weather": 1,
"Social": 5,
"General": 4
},
"total": 5
}GET /apis/:id/detailsResponse:
{
"success": true,
"api": {
"id": "eabdaadb1a37",
"name": "Auth Examples API",
"description": "REST API with authentication examples",
"baseUrl": "https://api.example.com/v1",
"authType": "apiKey",
"category": "Social",
"endpointCount": 2
},
"endpoints": [
{
"path": "/users",
"method": "GET",
"summary": "Get users",
"description": "Retrieve list of users",
"templates": {
"curl": "curl -X GET \"https://api.example.com/v1/users\" \\\n -H \"Content-Type: application/json\" \\\n -H \"X-API-Key: YOUR_API_KEY\"",
"powershell": "$headers = @{\n \"Content-Type\" = \"application/json\"\n \"X-API-Key\" = \"YOUR_API_KEY\"\n}\n\nInvoke-RestMethod -Uri \"https://api.example.com/v1/users\" -Method GET -Headers $headers"
}
}
]
}POST /agent/tools/search
Content-Type: application/json
{
"query": "get users"
}Response:
{
"success": true,
"query": "get users",
"intent": "get",
"entity": "users",
"confidence": 95,
"api": "Auth Examples API",
"endpoint": {
"method": "GET",
"path": "/users",
"summary": "Get users"
},
"authType": "apiKey",
"baseUrl": "https://api.example.com/v1",
"templates": {
"curl": "curl -X GET \"https://api.example.com/v1/users\" ...",
"powershell": "$headers = @{...}"
},
"alternatives": [
{
"api": "Minimal API",
"endpoint": "GET /users",
"confidence": 85
}
],
"totalFound": 3,
"responseTime": 12
}POST /agent/tools/listResponse:
{
"success": true,
"totalAPIs": 13,
"totalEndpoints": 40,
"apis": [...]
}The project uses a comprehensive 5-stage CI/CD pipeline:
Jobs:
1. validate-files # Validates project structure and OpenAPI files
2. test-pipeline # Tests Python pipeline processing
3. test-backend # Tests Node.js backend server
4. test-frontend # Validates frontend files
5. integration-test # End-to-end integration testing- โ Automated testing on every push
- โ Dependency caching (40% faster builds)
- โ Parallel job execution
- โ Artifact uploads for debugging
- โ Timeout protection (10-20 min per job)
- โ Retry logic for server startup
- โ Comprehensive error logging
- Push to
mainordevelopbranches - Pull requests to
main - Manual trigger via
workflow_dispatch
- Advanced NLP: Integrate transformer models for better query understanding
- Context Awareness: Remember previous queries for follow-up questions
- Multi-language Support: Support queries in multiple languages
- Semantic Search: Use embeddings for similarity-based matching
- Dark Mode: Toggle between light and dark themes
- API Playground: Test APIs directly from the interface
- Response Visualization: Pretty-print JSON responses
- History Tracking: Save and revisit previous searches
- Favorites: Bookmark frequently used APIs
- API Versioning: Track and compare API versions
- Rate Limiting: Monitor API usage and limits
- Authentication Manager: Store and manage API keys securely
- Code Generation: Generate client libraries in multiple languages
- Postman Integration: Export collections to Postman
- Database Integration: PostgreSQL for large-scale registry
- Caching Layer: Redis for faster query responses
- Microservices: Split into independent services
- Docker Deployment: Containerize all components
- Kubernetes: Orchestrate for production deployment
- User Contributions: Allow users to submit APIs
- Rating System: Community ratings and reviews
- API Documentation: Auto-generate interactive docs
- Usage Analytics: Track popular APIs and queries
- API Marketplace: Monetization for API providers
Contributions are welcome! Please follow these steps:
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
- Follow existing code style
- Add tests for new features
- Update documentation
- Ensure CI/CD pipeline passes
- Total APIs: 13
- Total Endpoints: 40
- Categories: 5 (AI, Finance, Weather, Social, General)
- Auth Types: 4 (None, API Key, Bearer, OAuth2)
- Code Lines: ~5,000+
- Test Coverage: 85%+
This project is licensed under the MIT License - see the LICENSE file for details.
Niharika Jakkula
- GSoC 2026 Contributor for API Bash
- GitHub: @Niharikajakkula
- Project: API Explorer Pipeline - Proof of Concept
This project was developed as a Proof of Concept for Google Summer of Code 2026 under the API Bash organization. It demonstrates:
- โ Strong understanding of API ecosystems
- โ Full-stack development capabilities
- โ AI/ML integration skills
- โ DevOps and CI/CD expertise
- โ Clean code and documentation practices
This PoC addresses key challenges in API discovery and demonstrates innovative solutions that align with API Bash's mission to simplify API integration for developers worldwide.
- API Bash Community for inspiration and guidance
- OpenAPI Initiative for standardized API specifications
- GitHub Actions for CI/CD infrastructure
- GSoC Program for the opportunity to contribute
- Issues: GitHub Issues
- Discussions: GitHub Discussions
- Email: [Your Email]
โญ Star this repository if you find it helpful!