Scholarships, Competitions & Internships Extractor avatar

Scholarships, Competitions & Internships Extractor

Pricing

from $0.05 / result

Go to Apify Store
Scholarships, Competitions & Internships Extractor

Scholarships, Competitions & Internships Extractor

A production-ready Apify Actor that automatically extracts structured information from RSS feeds about scholarships, competitions, internships, and challenges across 11 different categories.

Pricing

from $0.05 / result

Rating

0.0

(0)

Developer

Aadhithya

Aadhithya

Maintained by Community

Actor stats

0

Bookmarked

20

Total users

0

Monthly active users

7 months ago

Last modified

Share

A production-ready Apify Actor that automatically extracts structured information from RSS feeds about scholarships, competitions, internships, and challenges across 11 different categories.

🎯 What This Actor Does

This Actor reads RSS feeds from Givemechallenge.com and extracts:

  • Title - Challenge/competition name
  • Description - Cleaned and summarized description
  • Deadline - Application deadline (normalized to YYYY-MM-DD format)
  • Awards - Prize money, grants, or scholarships
  • Challenge Link - Direct link to apply/participate
  • Category - The category of the challenge

📋 Supported Categories

  • App Challenge
  • Design Challenge
  • Fellowships
  • Ideation Challenge
  • Internships
  • Music and Art Challenge
  • Photography Challenge
  • Poetry Competition
  • Scholarships
  • Video Challenge
  • Writing Challenge

🚀 Quick Start

Using Apify Console

  1. Go to Apify Console
  2. Search for saadithya/scholarships-competitions-internships-extractor
  3. Click "Run"
  4. Configure input:
{
"category": "Scholarships",
"maxItems": 20
}
  1. Click "Start"

Using Apify API

curl -X POST \
https://api.apify.com/v2/acts/saadithya~scholarships-competitions-internships-extractor/runs \
-H 'Authorization: Bearer YOUR_API_TOKEN' \
-H 'Content-Type: application/json' \
-d '{
"category": "Internships",
"maxItems": 20
}'

Using Node.js Apify Client

const { ApifyClient } = require('apify-client');
const client = new ApifyClient({
token: 'YOUR_API_TOKEN',
});
const runInput = {
category: 'Scholarships',
maxItems: 10,
};
const run = await client.actor('saadithya~scholarships-competitions-internships-extractor').call(runInput);
// Get results
const items = await client.dataset(run.defaultDatasetId).listItems();
console.log(`Found ${items.count} items`);
items.items.forEach(item => {
console.log(`${item.title} - Deadline: ${item.deadline}, Awards: ${item.awards}`);
});

Using Python Apify Client

from apify_client import ApifyClient
client = ApifyClient(token='YOUR_API_TOKEN')
run_input = {
"category": "Ideation Challenge",
"maxItems": 20
}
run = client.actor("saadithya~scholarships-competitions-internships-extractor").call(run_input)
for item in client.dataset(run["defaultDatasetId"]).list_items().items:
print(f"{item.title} - Deadline: {item.deadline}, Awards: {item.awards}")

📥 Input Parameters

category (Required)

Type: String (enum dropdown)
Description: Select the category of challenges to extract

Options:

  • App Challenge
  • Design Challenge
  • Fellowships
  • Ideation Challenge
  • Internships
  • Music and Art Challenge
  • Photography Challenge
  • Poetry Competition
  • Scholarships
  • Video Challenge
  • Writing Challenge

deadlineAfter (Optional)

Type: String (YYYY-MM-DD format)
Default: Not set
Description: Only return challenges with deadlines AFTER this date

Example:

{
"category": "Scholarships",
"deadlineAfter": "2026-06-01"
}

maxItems (Optional)

Type: Integer
Default: 20
Range: 1-100
Description: Maximum number of results to return

Example:

{
"category": "Internships",
"maxItems": 50
}

testMode (Optional)

Type: Boolean
Default: false
Description: If enabled, returns a mock item for testing purposes

Example:

{
"category": "App Challenge",
"testMode": true
}

📤 Output Format

Each extracted item is pushed to the Apify dataset with this structure:

{
"title": "Mastercard Foundation and ASU Graduate Scholarships for Africans",
"description": "Are you an African student looking to pursue a graduate degree? The Mastercard Foundation Scholars Program at Arizona State University provides comprehensive support...",
"deadline": "2026-05-15",
"awards": "$869,000",
"challengeLink": "https://www.mastercardfdn.org/scholarships/",
"category": "Scholarships"
}

💡 Usage Examples

Example 1: Find Upcoming Scholarship Deadlines

{
"category": "Scholarships",
"deadlineAfter": "2026-06-01",
"maxItems": 50
}

Example 2: Get All Available Internships

{
"category": "Internships",
"maxItems": 100
}

Example 3: Test the Actor

{
"category": "App Challenge",
"testMode": true
}

Example 4: Extract Latest Design Challenges

{
"category": "Design Challenge",
"maxItems": 10
}

🔧 Technical Details

How It Works

  1. RSS Feed Fetching: Uses the rss-parser library to fetch and parse RSS feeds from Feedburner URLs
  2. Data Extraction:
    • Deadline: Searches for patterns like "Deadline:- DD-MM-YYYY", "Deadline: March 15, 2026"
    • Awards: Extracts from "Awards:- $X,XXX" or similar patterns
    • Challenge Link: Finds anchor tags with "Take this challenge", "Apply Now", etc.
  3. Data Cleaning: Removes HTML tags, normalizes whitespace, truncates long descriptions
  4. Filtering: Applies deadline and maxItems filters
  5. Output: Pushes structured data to Apify dataset

Date Normalization

The Actor handles multiple date formats:

  • DD-MM-YYYY (e.g., 09-04-2026 → 2026-04-09)
  • MM-DD-YYYY (e.g., 04-09-2026 → 2026-04-09)
  • Text formats (e.g., March 15, 2026 → 2026-03-15)
  • ISO formats (e.g., 2026-03-15 → 2026-03-15)

All dates are normalized to YYYY-MM-DD format.

Error Handling

  • RSS Parse Failures: Logs warnings and continues with empty results
  • Item Processing Errors: Skips problematic items without crashing
  • Missing Fields: Uses fallback values ("Not specified")
  • Invalid Input: Validates input and exits gracefully

⚙️ Configuration

Timeout

Default: 300 seconds (5 minutes)
Recommended: Keep as is for most use cases

Memory

Default: 1024 MB
Recommended: Increase to 2048 MB if processing >100 items

📊 Result Formats

Results can be downloaded in multiple formats from Apify Console:

  • JSON
  • JSONL
  • CSV
  • Excel (XLSX)
  • XML
  • HTML

🔍 Troubleshooting

No Results Returned

  • Verify the RSS feed is accessible
  • Check if category is correctly selected
  • Try increasing maxItems
  • Test with testMode: true first

Missing Deadlines or Awards

  • Not all RSS items contain this information
  • The Actor extracts when available in the content
  • Check the raw RSS content to verify data exists

Build Fails

  • Ensure all dependencies are in package.json
  • Verify Node.js version compatibility
  • Review build logs in Apify Console

Timeout Issues

  • Increase timeout in Actor settings (max 900 seconds)
  • Reduce maxItems parameter
  • Check network connectivity to RSS feeds

🌟 Use Cases

  1. Job Boards: Automatically aggregate internship opportunities
  2. Educational Platforms: Track scholarship deadlines for students
  3. Innovation Hubs: Monitor competition landscapes
  4. Career Services: Provide students with latest opportunities
  5. Research Institutions: Track fellowship opportunities
  6. Media Outlets: Curate challenge listings for audiences

📈 Scheduling

Set up automated runs in Apify Console:

  1. Go to Actor page → "Schedules" tab
  2. Click "Create schedule"
  3. Set frequency (daily, weekly, etc.)
  4. Configure input parameters
  5. Save and activate

🔔 Webhooks

Configure webhooks to get notified when runs complete:

  1. Go to Actor page → "Webhooks" tab
  2. Click "Add webhook"
  3. Configure:
    • Event types: ACTOR.RUN.SUCCEEDED, ACTOR.RUN.FAILED
    • Request URL: Your endpoint
    • Payload template: Custom JSON

📝 Version History

v1.0.0

  • Initial release
  • Support for 11 challenge categories
  • Advanced deadline and awards extraction
  • HTML cleaning and text normalization
  • Comprehensive error handling

🤝 Support

📄 License

ISC

👨‍💻 Author

saadithya


Ready to extract opportunities? Start using the Scholarships, Competitions & Internships Extractor now! 🚀

For questions or custom features, reach out via Apify Console.