import requests import json import time def massive_import(): print("šŸš€ Initiating HEAVY GLOBAL IMPORT (Target: 1000+ Nodes)...") all_data = [] # Fetching 50 pages (1000 records) for p in range(1, 51): print(f" Fetching page {p}/50...") try: r = requests.get(f"https://api.ror.org/organizations?query=university&page={p}", timeout=20) if r.status_code == 200: items = r.json().get('items', []) if not items: break for item in items: all_data.append({ "ror_id": item.get('id'), "name": item.get('name'), "country": item.get('country', {}).get('country_name'), "established": item.get('established'), "type": "Verified_Institution" }) # Tight loop but with minimal safety pause time.sleep(0.1) else: print(f" Rate limit or error at page {p}") break except Exception as e: print(f" Connection error: {e}") break with open('data/global_academic_index.json', 'w', encoding='utf-8') as f: json.dump(all_data, f, indent=4) print(f"\nāœ… COMPLETED: {len(all_data)} REAL universities now integrated into the Sovereign Node.") if __name__ == "__main__": massive_import()