Why not create more than one button pyTelegramBotAPI?

Code sending the keyboard:
@bot.message_handler(content_types=['text'])
def send_text(message):
 query = api_query(message.text)
 if query is not None:
 keyboard = types.InlineKeyboardMarkup()
 for item in query:
print(item)
 keyboard.add(types.InlineKeyboardButton(text=item, callback_data=item))
 bot.send_message(message.from_user.id, text='Here is what I found:', reply_markup=keyboard)
else:
 bot.send_message(message.from_user.id, 'Oh, I did not managed to find. You entered accurately(a) the proper name?')

In the query stored search results, for example:
['Chernobyl: the exclusion Zone (2014)', 'Chernobyl jungle. 20 years without a man (2008)', 'Chernobyl' (2019)']

When you try to execute code error:
telebot.apihelper.ApiException: A request to the Telegram API was unsuccessful. The server returned the HTTP 400 Bad Request. Response body:
[b'{"ok":false,"error_code":400,"description":"Bad Request: BUTTON_DATA_INVALID"}']

What if in query only 1 element, then the send button there is no problem.
How in my case I need to build a keyboard?
March 23rd 20 at 19:45
1 answer
March 23rd 20 at 19:47
Solution
In fact, as always - the fool did not read the documentation and ran it on a toaster:
callback_data String Optional. Data to be sent in a callback query to the bot when a button is pressed, 1-64 bytes

Code working only callback_data I exceeded the API limit.

Find more questions by tags TelegramAPIPython