I
INSTAGRAM CHECKER
Published byOSINT TRACE
10/9/2026
# Instagram Profile & Account Intelligence Checker API
## ⚡ 100% Real-Time Live Intelligence (Zero Stale Databases)
The **Instagram Checker API** delivers high-speed, real-time account verification across Instagram. It verifies whether an identifier (vanity username, email address, or international phone number in E.164 format) is registered to an active Instagram account. When available, it extracts rich profile metadata including immutable numerical Instagram User IDs, live audience metrics, creator categories, bio descriptions, external website links, and verified badge flags.
> [!IMPORTANT]
> **Real-Time Verification Guarantee:** Every query executes live protocol probes directly against Instagram gateways. We **never** rely on cached dumps, leaked records, or stale third-party databases.
For direct web access, multi-platform OSINT scans, and high-volume enterprise investigations, visit **[OSINT Trace](https://osinttrace.com)** at [https://osinttrace.com](https://osinttrace.com).
---
## 🔗 Quick Links
- **Official Web Platform**: [OSINT Trace — https://osinttrace.com](https://osinttrace.com)
- **API Dashboard & Studio**: [Jojapi Studio](https://jojapi.com)
---
## ⚡ Key Features
- ✅ **Multi-Identifier Input:** Query by Instagram username (`johndoe`), email address (`[email protected]`), or E.164 phone number (`+14155552671`).
- 🆔 **Numerical User ID Extraction:** Returns the immutable numerical Instagram user ID (`user_id`) that persists across username handle renames.
- 📊 **Audience & Activity Metrics:** Extracts live follower, following, and total post counts on public profiles.
- 🏷️ **Creator & Category Detection:** Identifies Business/Creator accounts and their specific industry categories (e.g. `Entrepreneur`, `Public Figure`).
- 🔗 **Bio Details & External URLs:** Retrieves profile biography text and external website links.
- 🛡️ **Verified Status & Privacy Flags:** Detects official verification badges (`is_verified`) and private account flags (`is_private`).
- ⚡ **Sub-Second Response Times:** Asynchronous distributed worker pool built for high-throughput enterprise workloads.
---
## ⚠️ Input Types & Metadata Availability
> [!NOTE]
> - **Query by Username (`username`):** Returns comprehensive public profile intelligence (`user_id`, `username`, `name`, `bio`, `avatar_url`, `followers`, `following`, `posts`, `is_private`, `is_verified`, `is_business`, `category`, `external_url`, `profile_url`).
> - **Query by Email / Phone (`email` / `phone`):** Conclusively verifies account registration (`live: true | false`). Depending on Meta account recovery settings, it may return presence only or recovery profile identifiers.
---
## 🎯 Target Use Cases
1. **OSINT & Threat Intelligence:** Correlate mutable Instagram handles to immutable numerical `user_id` values to track actors across handle renames.
2. **Fraud Prevention & Sybil Defense:** Verify whether prospective customer emails or phone numbers correspond to authentic social accounts.
3. **Influencer & Creator Vetting:** Pull real-time follower counts, post counts, verification checkmarks, and categories.
4. **Lead Enrichment:** Enrich customer profiles with public biographies and website links.
---
## 💻 Visual Examples & Payload Schemas
### Endpoint
`POST /check`
### Request Body
```json
{
"input": "johndoe"
}
```
### Response Example: Public Profile with Metadata (`200 OK`)
```json
{
"live": true,
"metadata": {
"user_id": "1846282739",
"username": "johndoe",
"name": "John Doe",
"bio": "Founder @TechCorp | Building the future 🚀",
"avatar_url": "https://scontent.cdninstagram.com/v/t51.2885-19/...",
"followers": 12800,
"following": 450,
"posts": 192,
"is_private": false,
"is_verified": true,
"is_business": true,
"category": "Entrepreneur",
"external_url": "https://techcorp.io",
"profile_url": "https://www.instagram.com/johndoe/"
}
}
```
### Response Example: Registered Account by Email / Phone (`200 OK`)
```json
{
"live": true
}
```
### Response Example: Unregistered Account (`200 OK`)
```json
{
"live": false
}
```
---
## 🚀 Implementation Guide
### cURL
```bash
curl -X POST \
'https://instagram-checker.jojapi.com/check' \
-H 'Content-Type: application/json' \
-H 'x-api-key: YOUR_JOJAPI_KEY' \
-d '{"input": "johndoe"}'
```
### Python (`requests`)
```python
import requests
API_KEY = "YOUR_JOJAPI_KEY"
URL = "https://instagram-checker.jojapi.com/check"
def check_instagram(identifier: str):
headers = {
"Content-Type": "application/json",
"x-api-key": API_KEY
}
payload = {"input": identifier}
response = requests.post(URL, headers=headers, json=payload)
if response.status_code == 200:
data = response.json()
print(f"Active on Instagram: {data.get('live')}")
if data.get("metadata"):
meta = data["metadata"]
print(f"User ID: {meta.get('user_id')}")
print(f"Followers: {meta.get('followers')}")
print(f"Verified: {meta.get('is_verified')}")
print(f"Category: {meta.get('category')}")
return data
else:
print(f"Error {response.status_code}: {response.text}")
return None
check_instagram("johndoe")
```
### JavaScript / Node.js (`fetch`)
```javascript
const API_KEY = "YOUR_JOJAPI_KEY";
const URL = "https://instagram-checker.jojapi.com/check";
async function checkInstagram(identifier) {
const response = await fetch(URL, {
method: "POST",
headers: {
"Content-Type": "application/json",
"x-api-key": API_KEY
},
body: JSON.stringify({ input: identifier })
});
if (!response.ok) {
throw new Error(`HTTP error! status: ${response.status}`);
}
const data = await response.json();
console.log("Instagram Scan Result:", data);
return data;
}
checkInstagram("johndoe");
```
---
## 🚦 Status Codes & Error Reference
| Status Code | Reason | Description |
|:---|:---|:---|
| **`200 OK`** | Success | Query completed. Returns registration status and optional Instagram profile metadata. |
| **`400 Bad Request`** | Validation Error | Malformed input or missing request body. |
| **`401 Unauthorized`** | Auth Failure | Missing or invalid `x-api-key` header. |
| **`403 Forbidden`** | Quota Exceeded | Monthly subscription quota exhausted. Upgrade your plan. |
| **`429 Too Many Requests`** | Rate Limit | Exceeded allowable requests/second (1 req/s). |
| **`500 / 503`** | Service Error | Upstream gateway temporary issue. Retry with exponential backoff. |
---
## ❓ Frequently Asked Questions
**Q: Can I search by phone number or email address?**
A: Yes! The endpoint supports email addresses, E.164 international phone numbers (`+14155552671`), and Instagram usernames.
**Q: Why is the numerical User ID important for OSINT investigations?**
A: Even if a target user changes their `@username` handle, their numerical `user_id` never changes, allowing investigators to maintain a permanent audit trail.
**Q: Where can I run multi-platform OSINT scans or bulk CSV searches?**
A: Visit **[OSINT Trace](https://osinttrace.com)** (`https://osinttrace.com`) for the full unified web workspace, bulk CSV processor, and downloadable intelligence reports.
Last updated 2026-10-16