def METHOD_NAME(self, page, per_page, person_titles, num_of_employees = [],
                          person_location = "", organization_domains = ""):
    """
    Execute the Apollo search tool.
    Args:
        page : The page of results to retrieve.
        person_titles : The titles of the people to search for.
        num_of_employees : The number of employees to filter by in format [start_range, end_range]. It is optional.
        person_location: Region country/state/city filter to search for. It is optional.
    Returns:
        People data from the Apollo search.
    """
    url = "https://api.apollo.io/v1/mixed_people/search"
    headers = {
        "Content-Type": "application/json",
        "Cache-Control": "no-cache"
    }
    data = {
        "api_key": self.get_tool_config("APOLLO_SEARCH_KEY"),
        "page": page,
        "per_page": per_page,
        "person_titles": person_titles,
        "contact_email_status": ["verified"]
    }
    if organization_domains:
        data["q_organization_domains"] = organization_domains
    if num_of_employees:
        if num_of_employees[1] == num_of_employees[0]:
            data["num_of_employees"] = [str(num_of_employees[0]) + ","]
        else:
            data["num_of_employees"] = [str(num_of_employees[0]) + ","+ str(num_of_employees[1])]
    if person_location:
        data["person_locations"] = [person_location]
    response = requests.post(url, headers=headers, data=json.dumps(data))
    print(response)
    if response.status_code == 200:
        return response.json()
    else:
        return None