Instagram Profile Lookup by User ID
omnial/instagram-fetch-user-info-by-id
Given an Instagram account's numeric user ID, returns that account's public profile: display name, username, bio, verification/private/business status, follower/following/media counts, bio links, and any publicly-listed business contact info. Returns an empty object `{}` when the user ID does not resolve to an existing account. This endpoint takes only a numeric user ID, not a username -- use `instagram-fetch-user-info` to look up by username.
Price
Up to $0.00205 per call; you pay what the call used
You pay the price shown. If a call turns out to cost more than its quote, you pay the actual price, capped at twice the quote. No monthly minimum. Top-ups start at $5.00.
Data source
Data from Instagram.
Use it
Your AI assistant does the work: it finds this tool, shows you the price first, runs it, and you are charged when the run finishes. There is nothing to set up for this tool in particular.
Connect once and your AI can find and run this tool, and any other it needs.
For developers: the calls your assistant makes
// 1. search: find the tool
omnial_search({ query: "what you need" })
// 2. inspect: price and input schema
omnial_inspect({ tool: "omnial/instagram-fetch-user-info-by-id" })
// 3. learn: read the usage guide at runtime
omnial_learn({ tool: "omnial/instagram-fetch-user-info-by-id" })
// 4. run: price the exact call first, then run it
omnial_execute({ tool: "omnial/instagram-fetch-user-info-by-id", input: { /* see input_schema */ }, dry_run: true })
omnial_execute({ tool: "omnial/instagram-fetch-user-info-by-id", input: { /* ... */ } })
// 5. settle: the call is charged when it finishes, nothing to doNot connected yet? Point your MCP client at https://mcp.eden-engine.com/mcp, then copy a config for your client.
Pricing
Every charge this tool can incur.
| Charge | Price |
|---|---|
Per call | $0.00205 |
- Updated
- Nov 6, 2026
Input and output schemas
Input schema
{
"type": "object",
"required": [
"user_id"
],
"properties": {
"user_id": {
"type": "string",
"examples": [
"25025320"
],
"description": "Instagram user ID"
}
},
"additionalProperties": false
}Output schema
{
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "The account's own numeric Instagram user ID."
},
"status": {
"type": "boolean",
"description": "True when the lookup succeeded and a profile was returned."
},
"username": {
"type": "string"
},
"bio_links": {
"type": "array",
"items": {
"type": "object",
"properties": {
"url": {
"type": [
"string",
"null"
],
"description": "Withheld (returned as `null` regardless of what the account published) -- only whether the link exists is observable, not the destination itself."
},
"title": {
"type": "string",
"description": "May be an empty string."
},
"link_type": {
"type": "string",
"description": "e.g. 'external'."
}
},
"additionalProperties": true
},
"description": "Links the account has pinned to their bio."
},
"biography": {
"type": "string"
},
"full_name": {
"type": "string"
},
"is_private": {
"type": "boolean"
},
"edge_follow": {
"type": "object",
"properties": {
"count": {
"type": "number",
"description": "Following count."
}
},
"additionalProperties": true
},
"is_verified": {
"type": "boolean"
},
"external_url": {
"type": [
"string",
"null"
],
"description": "The account's linked website, when present. Value withheld (returned as `null` regardless of what the account published) -- only whether the field is populated is observable, not the URL itself."
},
"category_enum": {
"type": [
"string",
"null"
],
"description": "A machine-readable version of `category_name`. `null` when not set."
},
"category_name": {
"type": [
"string",
"null"
],
"description": "The account's self-set category label. `null` when not set."
},
"business_email": {
"type": "null",
"description": "Withheld -- always returned as `null` regardless of what the account published (this field is stripped before it reaches a customer)."
},
"edge_followed_by": {
"type": "object",
"properties": {
"count": {
"type": "number",
"description": "Follower count."
}
},
"additionalProperties": true
},
"is_joined_recently": {
"type": "boolean",
"description": "Whether Instagram flags this account as having joined recently."
},
"is_business_account": {
"type": "boolean"
},
"highlight_reel_count": {
"type": "number"
},
"business_address_json": {
"type": [
"string",
"null"
],
"description": "A JSON-encoded business address string, when the account owner has published one. `null` when none is published (the usual case)."
},
"business_phone_number": {
"type": [
"string",
"null"
],
"description": "Business contact phone number the account owner has chosen to publish. `null` when none is published (the usual case)."
},
"business_category_name": {
"type": [
"string",
"null"
],
"description": "The account's business category, when configured as a business account."
},
"biography_with_entities": {
"type": "object",
"properties": {
"entities": {
"type": "array",
"description": "Parsed mentions/hashtags found inside the bio text. Usually an empty array `[]`; item shape not documented."
},
"raw_text": {
"type": "string"
}
},
"additionalProperties": true
},
"business_contact_method": {
"type": "string",
"description": "e.g. 'UNKNOWN' when the account has not configured a contact channel."
},
"is_professional_account": {
"type": "boolean"
},
"edge_owner_to_timeline_media": {
"type": "object",
"properties": {
"count": {
"type": "number",
"description": "Total media (post) count."
}
},
"description": "Only the total post count is exposed here, not the posts themselves -- the recent-media list is excluded.",
"additionalProperties": true
}
},
"description": "The profile record. Returned as an empty object `{}` (no fields at all) when the given `user_id` does not resolve to an existing Instagram account.",
"additionalProperties": true
}