Internshala Scraper — Indian Internship Data for AI
Pricing
from $5.00 / 1,000 results
Internshala Scraper — Indian Internship Data for AI
Extract Indian internship data from Internshala: jobTitle, company, location, salary, skills, duration, stipend. For HR teams, recruiters, job boards. Power AI agents, Claude, ChatGPT via Apify MCP. First Internshala scraper.
Pricing
from $5.00 / 1,000 results
Rating
0.0
(0)
Developer
Archit Khurana
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
a day ago
Last modified
Categories
Share
🎓 Internshala Scraper
Extract internship listings from Internshala.com with ease! Perfect for job boards, market research, and AI-powered recruitment tools.
✨ Features
- 🔍 Keyword Search - Find internships by skills, role, or industry
- 📍 Location Filtering - Filter by city (Bangalore, Mumbai, Delhi, etc.)
- 📊 Structured Data - Extracts JSON-LD schema.org JobPosting data
- 🚀 Fast & Reliable - Uses httpx + BeautifulSoup for efficient scraping
- 🌐 Proxy Support - Built-in Apify proxy integration (residential)
- 🔄 Pagination - Automatically handles multiple pages
- 💾 Immediate Push - Results streamed as they're found
🤖 AI & MCP Integration
This actor is AI-ready and MCP-compatible! Use it with:
- 🧠 Claude Code (Anthropic MCP)
- 🤖 ChatGPT (OpenAI Actions)
- 🦙 LangChain & LlamaIndex
- 📊 Zapier & Make.com
Perfect for building AI agents that need real-time internship data!
📋 Input Configuration
| Field | Type | Description | Default |
|---|---|---|---|
| searchQuery | string | Keywords to search (e.g., "python", "marketing") | "python" |
| location | string | City name (e.g., "Bangalore", "Mumbai") | "Bangalore" |
| maxResults | integer | Maximum internships to scrape (1-1000) | 50 |
| proxyConfiguration | object | Apify proxy settings | RESIDENTIAL |
Example Input
{"searchQuery": "python developer","location": "Bangalore","maxResults": 100,"proxyConfiguration": {"useApifyProxy": true,"apifyProxyGroups": ["RESIDENTIAL"]}}
📤 Output Format
Each internship listing includes:
| Field | Type | Description |
|---|---|---|
| title | string | Internship title/role |
| company | string | Company name |
| location | string | Location of internship |
| duration | string | Internship duration |
| stipend | string | Stipend/salary range |
| skills | string | Required skills |
| description | string | Full job description |
| url | string | Direct link to listing |
| scrapedAt | string | ISO timestamp |
Example Output
{"title": "Python Developer - Internship","company": "Tech Startup Inc.","location": "Bangalore","duration": "3 months","stipend": "INR 15000-25000","skills": "Python, Django, REST APIs","description": "We are looking for a passionate Python developer...","url": "https://internshala.com/internships/detail/123456","scrapedAt": "2026-08-21T10:30:00.000Z"}
🚀 Quick Start
Run on Apify Platform
- Create an Apify account at apify.com
- Create new actor and upload this code
- Configure your search query and location
- Click Start and get results!
Run Locally
# Install dependenciespip install -r requirements.txt# Set environment variableexport APIFY_INPUT_JSON='{"searchQuery":"python","location":"Bangalore","maxResults":20}'# Run the scraperpython -m src.main
Docker
# Build imagedocker build -t internshala-scraper .# Run containerdocker run -e APIFY_INPUT_JSON='{"searchQuery":"python","location":"Bangalore","maxResults":20}' internshala-scraper
🔧 How It Works
- URL Construction - Builds search URLs based on keywords and location
- HTML Fetching - Downloads pages using httpx with proxy support
- JSON-LD Extraction - Parses structured schema.org JobPosting data from
<script>tags - Data Normalization - Converts to clean, consistent format
- Immediate Push - Streams results to Apify dataset in real-time
- Pagination - Continues to next page until maxResults reached
📊 Use Cases
- 🎯 Job Boards - Aggregate internships for your platform
- 📈 Market Research - Analyze hiring trends and salary ranges
- 🤖 AI Recruiters - Feed data to AI agents for candidate matching
- 📧 Job Alerts - Build notification systems for new postings
- 📊 Analytics - Track internship market dynamics
- 🔗 Integration - Connect with CRMs, ATSs, or automation tools
🛡️ Best Practices
- ✅ Use residential proxies for best results
- ✅ Set reasonable maxResults (50-200 recommended)
- ✅ Run daily/weekly for fresh data
- ✅ Respect rate limits and be polite to the site
- ✅ Cache results to avoid redundant scraping
🐛 Error Handling
The actor includes robust error handling:
- ❌ Gracefully handles missing data (returns
nullfor missing fields) - ❌ Continues on single-page failures
- ❌ Logs errors without crashing
- ❌ Stops at reasonable pagination limits
📝 Logging
Progress is logged throughout:
- 📊 Every 10 results scraped
- 📄 Each page URL being scraped
- ⚠️ Errors and warnings
- ✅ Final completion summary
🤝 Contributing
Contributions welcome! Feel free to:
- 🐛 Report bugs
- 💡 Suggest features
- 🔧 Submit pull requests
- ⭐ Star the repository
📄 License
MIT License - feel free to use in personal and commercial projects!
🙋 Support
Need help? Have questions?
- 📧 Contact via Apify platform
- 💬 Open an issue on GitHub
- 📖 Check Apify documentation
Built with ❤️ for the AI and automation community
This actor respects robots.txt and website terms of service. Use responsibly.