python3 -m pip install requests import requests import csv import os import time API_URL = "https://api.keys.so/report/system_keywords" TOKEN = "YOUR_TOKEN" HEADERS = { "Content-Type": "application/json", "Accept": "application/json", "X-Keyso-TOKEN": TOKEN, } QUERY_PARAMS = { "strict": "true", "hideadult": "true", "sort": "string", } FILTER = "weight>=100^ws>=10000^avbid<=1^adscnt<=1" PER_PAGE = 500 STATE_FILE = "page_state.txt" CSV_FILE = "system_keywords.csv" # ---------- state ---------- def load_page(): if os.path.exists(STATE_FILE): with open(STATE_FILE, "r") as f: return int(f.read().strip()) return 1 def save_page(page): with open(STATE_FILE, "w") as f: f.write(str(page)) # ---------- csv ---------- def append_to_csv(rows): if not rows: return file_exists = os.path.exists(CSV_FILE) with open(CSV_FILE, "a", newline="", encoding="utf-8") as f: writer = csv.DictWriter(f, fieldnames=rows[0].keys()) if not file_exists: writer.writeheader() writer.writerows(rows) # ---------- main