# InlineQueryResultContact

> Represents a contact with a phone number

**Category:** Telegram Bot API — Types (A-Z)  
**URL:** https://docs.botlify.cloud/inlinequeryresultcontact  
**Platform:** Botlify Cloud (https://botlify.cloud)  

---

Represents a contact with a phone number. By default, this contact will be sent by the user. Alternatively, you can use *input_message_content* to send a message with the specified content instead of the contact.

## Fields

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| type | String | Always | Type of the result, must be contact |
| id | String | Always | Unique identifier for this result, 1-64 Bytes |
| phone_number | String | Always | Contact's phone number |
| first_name | String | Always | Contact's first name |
| last_name | String | Optional | Contact's last name |
| vcard | String | Optional | Additional data about the contact in the form of a vCard, 0-2048 bytes |
| reply_markup | InlineKeyboardMarkup | Optional | Inline keyboard attached to the message |
| input_message_content | InputMessageContent | Optional | Content of the message to be sent instead of the contact |
| thumbnail_url | String | Optional | Url of the thumbnail for the result |
| thumbnail_width | Integer | Optional | Thumbnail width |
| thumbnail_height | Integer | Optional | Thumbnail height |

> [!TIP]
> **Botlify Cloud Runtime**
> Credentials are auto-injected in .env — always load them with getenv(): BOT_TOKEN, ADMIN_CHAT_ID, BOT_USERNAME. Main database: database.db (SQLite, WAL mode). Runtime errors: error.log. Quick test: send to $ADMIN_CHAT_ID. Full details: Runtime Reference.
