'Remotive', 'api_url' => 'https://remotive.com/api', 'api_key' => null, // No API key required 'is_active' => true, 'rate_limit' => 60, // requests per hour 'configuration' => [ 'description' => 'Remote jobs API - Free, no authentication required', 'docs' => 'https://remotive.com/api-documentation', ], ], [ 'name' => 'The Muse', 'api_url' => 'https://www.themuse.com/api/public', 'api_key' => null, // Optional API key for higher limits 'is_active' => true, 'rate_limit' => 100, // requests per hour 'configuration' => [ 'description' => 'The Muse job board API - Free tier available', 'docs' => 'https://www.themuse.com/developers/api/v2', ], ], [ 'name' => 'Adzuna', 'api_url' => 'https://api.adzuna.com/v1/api/jobs', 'api_key' => env('ADZUNA_API_KEY'), // Format: app_id:app_key 'is_active' => env('ADZUNA_API_KEY') ? true : false, 'rate_limit' => 100, // requests per hour 'configuration' => [ 'country' => 'us', 'description' => 'Adzuna job search API - Requires free API key', 'docs' => 'https://developer.adzuna.com/overview', 'signup' => 'https://developer.adzuna.com/signup', ], ], ]; foreach ($sources as $source) { JobSource::updateOrCreate( ['name' => $source['name']], $source ); } $this->command->info('Job sources seeded successfully!'); } }