def METHOD_NAME(start_idx=9557161, accept_threshold=1000000, sleep=0.1, folder="biostars"):
    """
    Download BioStarts data set from the official API using GET requests
    Args:
        start_idx (int): The identifier (UID) of the post to retrieve; 9557161 was the last post included in the dataset
        accept_threshold (int): stop if this many posts with "has_accepted" true are retrieved
        sleep (float): Amount of time to sleep between requests
        folder (string): folder to store responses as JSON files
    Returns:
        Nothing. Content is saved to individual JSON files for each post.
    """
    headers = {"Content-Type": "application/json"}
    has_accepted_count = 0
    pbar = tqdm(range(start_idx, 0, -1), desc="Running ...")
    for idx in pbar:
        url = f"https://www.biostars.org/api/post/{idx}"
        file = os.path.join(folder, f"{idx}.json")
        if os.path.isfile(file):
            with open(file, "r") as f:
                data = json.load(f)
                if data.get("has_accepted"):
                    has_accepted_count += 1
            print(f"MSG: {file} exists. Skipping; Current accepted: {has_accepted_count}")
            continue
        r = requests.get(url, headers=headers)
        # print(r.status_code, r.reason)
        if r.status_code == 200:
            data = r.json()
            if data.get("has_accepted"):
                has_accepted_count += 1
            with open(file, "w") as f:
                json.dump(data, f)
            # print(f"MSG: File downloaded: {idx}; Current accepted: {has_accepted_count}")
        else:
            print("ERROR: Retrieving data: ", idx)
        time.sleep(sleep)
        if has_accepted_count == accept_threshold:
            print(f"{accept_threshold} entries with has_accepted found. Stopping.")
            break
        pbar.set_description(f"Item: {idx}; Accepted {has_accepted_count}")
        # tqdm.set_description(f"Cur: {idx}; Accepted: {has_accepted_count}")