optimize api.py, bulkapi.py