# Telegram Entity Lookup (`novashieldai/telegram-entity-lookup`) Actor

Bulk lookup Telegram entities (users, channels, bots, groups) by username. Extracts profile info, member counts, verification status, and entity type from public t.me pages.

- **URL**: https://apify.com/novashieldai/telegram-entity-lookup.md
- **Developed by:** [Ali haydar Karadaş](https://apify.com/novashieldai) (community)
- **Categories:** Developer tools, Lead generation
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

Pay per usage

This Actor is paid per platform usage. The Actor is free to use, and you only pay for the Apify platform usage, which gets cheaper the higher subscription plan you have.

Learn more: https://docs.apify.com/platform/actors/running/actors-in-store#pay-per-usage

## What's an Apify Actor?

Actors are a software tools running on the Apify platform, for all kinds of web data extraction and automation use cases.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.
Actors are written with capital "A".

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.
The best way to integrate Actors is as follows.

In JavaScript/TypeScript projects, use official [JavaScript/TypeScript client](https://docs.apify.com/api/client/js.md):

```bash
npm install apify-client
```

In Python projects, use official [Python client library](https://docs.apify.com/api/client/python.md):

```bash
pip install apify-client
```

In shell scripts, use [Apify CLI](https://docs.apify.com/cli/docs.md):

````bash
# MacOS / Linux
curl -fsSL https://apify.com/install-cli.sh | bash
# Windows
irm https://apify.com/install-cli.ps1 | iex
```bash

In AI frameworks, you might use the [Apify MCP server](https://docs.apify.com/platform/integrations/mcp.md).

If your project is in a different language, use the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).


# README

## Telegram Entity Lookup

Telegram Entity Lookup is the fastest way to resolve Telegram usernames into structured entity data -- users, channels, groups, bots, and more. Built for reliability at scale, this scraper handles single lookups, bulk batches, and statistical breakdowns without needing a Telegram API key or bot token.

### What does Telegram Entity Lookup do?

This actor takes one or more Telegram usernames and returns detailed information about each entity. You get the entity type (user, channel, group, bot), title, description, member counts, verification status, and flags for scam or premium accounts -- all in clean JSON.

There are three modes. **Lookup** resolves a single username. **Bulk Lookup** processes a list of usernames at once and gives you aggregate counts (found, not found, errors). **Stats** does the same as bulk lookup but adds a type-level breakdown so you can see exactly how many users, channels, groups, and bots are in your list.

If you're doing OSINT research, building a Telegram analytics dashboard, or just need to verify whether a username is taken, this covers all of it.

### What data do you get?

- **username** -- the Telegram handle that was queried
- **entity_type** -- user, channel, bot, group, supergroup, or unknown
- **title** -- display name of the entity
- **description** -- bio or about text
- **photo_url** -- profile photo URL
- **member_count** -- subscriber or member count (channels/groups)
- **is_verified** -- official verification status
- **is_scam** -- flagged as scam by Telegram
- **is_premium** -- Telegram Premium subscriber
- **is_bot** -- whether the entity is a bot
- **is_private** -- private group/channel flag
- **lookup_time_ms** -- how long the lookup took
- **found** -- whether the username exists

In bulk and stats modes, you also get **total_queried**, **found_count**, **not_found_count**, **error_count**, and a full **entity type breakdown** (users, channels, groups, bots, unknown).

### Who is this for?

- **OSINT researchers** -- verify Telegram entities and collect metadata at scale
- **Brand protection teams** -- check if your brand name is being used on Telegram
- **Marketing analysts** -- audit channel sizes, bot presence, and group activity
- **Developers** -- integrate Telegram entity resolution into your own tools and pipelines
- **Compliance teams** -- screen usernames against watchlists or known scam accounts

### How to use it

1. Open the actor in Apify Console and select a mode (lookup, bulk_lookup, or stats).
2. Enter a single username or a list of usernames (without the @ symbol).
3. Click "Start" and wait for the run to finish.
4. Download your results as JSON, CSV, or Excel from the Dataset tab.
5. Use the Apify API to schedule recurring runs or integrate with your workflow.

### Input parameters

| Parameter | Type | Default | Description |
|-----------|------|---------|-------------|
| mode | string | lookup | lookup = single entity, bulk_lookup = multiple entities, stats = bulk + type statistics |
| username | string | -- | Telegram username for lookup mode (without @) |
| usernames | array | -- | List of Telegram usernames for bulk_lookup and stats modes |

### Sample output

```json
{
  "username": "durov",
  "found": true,
  "entity": {
    "username": "durov",
    "entity_type": "user",
    "title": "Pavel Durov",
    "description": "Telegram CEO",
    "photo_url": "https://t.me/i/userpic/320/durov.jpg",
    "member_count": null,
    "is_verified": true,
    "is_scam": false,
    "is_premium": true,
    "is_bot": false,
    "is_private": false,
    "extra_info": {}
  },
  "error": null,
  "lookup_time_ms": 142.5
}
````

### How much does it cost?

Each result costs **$0.004**. That means 1,000 lookups cost you $4, and 10,000 lookups cost $40.

Apify gives every new user $5 in free monthly credits, so you can run about 1,250 lookups without paying anything.

### Common questions

**Do I need a Telegram API key or bot token?**
No. This actor works without any Telegram credentials. Just provide usernames and go.

**Can I check hundreds of usernames at once?**
Yes. Use bulk\_lookup or stats mode and pass an array of usernames. There is no hard limit on batch size.

**What happens if a username doesn't exist?**
The result will come back with `found: false` and no entity data. You still get the username in the response so you can track which ones failed.

### Contact & Custom Solutions

Need a custom scraper, higher volume, or a specific integration? We're here to help.

If anything isn't working right or you need support, don't hesitate to reach out.

- Telegram: [t.me/novashield\_dev](https://t.me/novashield_dev)
- Email: novashield.dev@gmail.com

# Actor input Schema

## `mode` (type: `string`):

lookup = single entity, bulk\_lookup = multiple entities, stats = bulk + type statistics

## `username` (type: `string`):

Telegram username for 'lookup' mode (without @)

## `usernames` (type: `array`):

List of Telegram usernames for 'bulk\_lookup' and 'stats' modes

## Actor input object example

```json
{
  "mode": "lookup",
  "username": "durov",
  "usernames": [
    "durov",
    "telegram",
    "BotFather"
  ]
}
```

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "username": "durov",
    "usernames": [
        "durov",
        "telegram",
        "BotFather"
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("novashieldai/telegram-entity-lookup").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = {
    "username": "durov",
    "usernames": [
        "durov",
        "telegram",
        "BotFather",
    ],
}

# Run the Actor and wait for it to finish
run = client.actor("novashieldai/telegram-entity-lookup").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print("💾 Check your data here: https://console.apify.com/storage/datasets/" + run["defaultDatasetId"])
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "username": "durov",
  "usernames": [
    "durov",
    "telegram",
    "BotFather"
  ]
}' |
apify call novashieldai/telegram-entity-lookup --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=novashieldai/telegram-entity-lookup",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Telegram Entity Lookup",
        "description": "Bulk lookup Telegram entities (users, channels, bots, groups) by username. Extracts profile info, member counts, verification status, and entity type from public t.me pages.",
        "version": "1.0",
        "x-build-id": "2gaxsjI1H7KwZp6Tv"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/novashieldai~telegram-entity-lookup/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-novashieldai-telegram-entity-lookup",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        },
        "/acts/novashieldai~telegram-entity-lookup/runs": {
            "post": {
                "operationId": "runs-sync-novashieldai-telegram-entity-lookup",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor and returns information about the initiated run in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/runsResponseSchema"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/acts/novashieldai~telegram-entity-lookup/run-sync": {
            "post": {
                "operationId": "run-sync-novashieldai-telegram-entity-lookup",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        }
    },
    "components": {
        "schemas": {
            "inputSchema": {
                "type": "object",
                "properties": {
                    "mode": {
                        "title": "Mode",
                        "enum": [
                            "lookup",
                            "bulk_lookup",
                            "stats"
                        ],
                        "type": "string",
                        "description": "lookup = single entity, bulk_lookup = multiple entities, stats = bulk + type statistics",
                        "default": "lookup"
                    },
                    "username": {
                        "title": "Username",
                        "type": "string",
                        "description": "Telegram username for 'lookup' mode (without @)"
                    },
                    "usernames": {
                        "title": "Usernames",
                        "type": "array",
                        "description": "List of Telegram usernames for 'bulk_lookup' and 'stats' modes",
                        "items": {
                            "type": "string"
                        }
                    }
                }
            },
            "runsResponseSchema": {
                "type": "object",
                "properties": {
                    "data": {
                        "type": "object",
                        "properties": {
                            "id": {
                                "type": "string"
                            },
                            "actId": {
                                "type": "string"
                            },
                            "userId": {
                                "type": "string"
                            },
                            "startedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "finishedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "status": {
                                "type": "string",
                                "example": "READY"
                            },
                            "meta": {
                                "type": "object",
                                "properties": {
                                    "origin": {
                                        "type": "string",
                                        "example": "API"
                                    },
                                    "userAgent": {
                                        "type": "string"
                                    }
                                }
                            },
                            "stats": {
                                "type": "object",
                                "properties": {
                                    "inputBodyLen": {
                                        "type": "integer",
                                        "example": 2000
                                    },
                                    "rebootCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "restartCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "resurrectCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "computeUnits": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "options": {
                                "type": "object",
                                "properties": {
                                    "build": {
                                        "type": "string",
                                        "example": "latest"
                                    },
                                    "timeoutSecs": {
                                        "type": "integer",
                                        "example": 300
                                    },
                                    "memoryMbytes": {
                                        "type": "integer",
                                        "example": 1024
                                    },
                                    "diskMbytes": {
                                        "type": "integer",
                                        "example": 2048
                                    }
                                }
                            },
                            "buildId": {
                                "type": "string"
                            },
                            "defaultKeyValueStoreId": {
                                "type": "string"
                            },
                            "defaultDatasetId": {
                                "type": "string"
                            },
                            "defaultRequestQueueId": {
                                "type": "string"
                            },
                            "buildNumber": {
                                "type": "string",
                                "example": "1.0.0"
                            },
                            "containerUrl": {
                                "type": "string"
                            },
                            "usage": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "integer",
                                        "example": 1
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "usageTotalUsd": {
                                "type": "number",
                                "example": 0.00005
                            },
                            "usageUsd": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "number",
                                        "example": 0.00005
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
