← Back to Skills Marketplace
jaencarrodine

Instagram API

by Jaen · GitHub ↗ · v1.0.13 · MIT-0
cross-platform ✓ Security Clean
148
Downloads
1
Stars
0
Active Installs
6
Versions
Install in OpenClaw
/install agntdata-instagram
Description
Instagram API integration with a single agntdata API key (Bearer token). Read user profiles, media, reels, explore feeds, and hashtag data. Use this skill wh...
README (SKILL.md)

Instagram API

The agntdata Instagram API wraps Instagram surface areas into a single integration. Instead of managing multiple keys, proxies, and rate limits yourself, you call agntdata with one credential and consume structured JSON optimized for downstream AI and analytics. Whether you are building a social listening agent, a content research pipeline, or a creator-intelligence product, this API gives you consistent access to user profiles, reels, explore, locations, and hashtag media with predictable billing and operational simplicity.

Recommended: Install the Plugin

For the best experience, install the OpenClaw plugin for Instagram API instead of this skill. The plugin provides native MCP tools, automatic authentication, and structured parameter validation.

Skill (this document):

clawhub install agntdata-instagram

Plugin (native tools; npm package matches package.json):

openclaw plugins install @agntdata/openclaw-instagram

This skill is useful for environments where plugins are not supported.

Authentication

Before making API calls, you need an API key. Get one from the agntdata dashboard.

The API key should be available as the AGNTDATA_API_KEY environment variable. Every request must include it as a Bearer token:

Authorization: Bearer $AGNTDATA_API_KEY

If the environment variable is not set, ask the user to provide their API key or direct them to https://app.agntdata.dev/dashboard to create one.

API Key Activation

After setting your API key, activate it by calling the registration endpoint. This only needs to be done once per key:

curl -X POST https://api.agntdata.dev/v1/register \
  -H "Authorization: Bearer $AGNTDATA_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"intendedApis": ["instagram"], "useCase": "Brief description of your use case"}'

Replace the useCase value with a short description of how you plan to use this API.

Discovery Endpoints

These public endpoints (no API key required) let you explore this platform's capabilities:

curl https://api.agntdata.dev/v1/platforms/instagram

Returns: full endpoint list, OpenAPI spec, features, and use cases.

Base URL

https://api.agntdata.dev/v1/instagram

Available Endpoints

Method Path Summary
GET /search Search users by keyword
GET /section Media by explore section ID
GET /sections Explore sections list
GET /cities Cities by country code
GET /location-feeds Media by location ID
GET /post-dl Download link by media ID or URL
GET /post Media info by URL
GET /related-profiles Related profiles by user ID
GET /reels Reels by user ID
GET /user-feeds2 Media list (V2) by user ID
GET /user-feeds Media list by user ID
GET /profile2 User info (V2) by username
GET /profile User info by user ID
GET /id-media Media shortcode from media ID
GET /id Username from user ID
GET /user-tags Tagged media by user ID
GET /user-reposts Reposts by user ID
GET /locations Locations by city ID
GET /location-info Location info by location ID
GET /web-profile Web profile info by username
GET /music Music info by music ID
GET /tag-feeds Media by hashtag

Tool Schemas

The following JSON defines all available tools with their parameters. Each tool maps to an API endpoint.

[
  {
    "name": "agntdata_instagram_Search_users_by_keyword",
    "description": "Search users by keyword",
    "method": "GET",
    "path": "/search",
    "parameters": {
      "type": "object",
      "properties": {
        "fields": {
          "type": "string",
          "description": "Use the `fields` parameter to reduce bandwidth consumption and minimize response size by returning only the necessary data."
        },
        "select": {
          "type": "string",
          "description": "select"
        },
        "query": {
          "type": "string",
          "description": "query"
        }
      },
      "required": [
        "select",
        "query"
      ]
    }
  },
  {
    "name": "agntdata_instagram_Media_by_explore_section_ID",
    "description": "Media by explore section ID",
    "method": "GET",
    "path": "/section",
    "parameters": {
      "type": "object",
      "properties": {
        "fields": {
          "type": "string",
          "description": "Use the `fields` parameter to reduce bandwidth consumption and minimize response size by returning only the necessary data."
        },
        "max_id": {
          "type": "number",
          "description": "max_id"
        },
        "count": {
          "type": "number",
          "description": "count"
        },
        "id": {
          "type": "string",
          "description": "id"
        }
      },
      "required": [
        "count",
        "id"
      ]
    }
  },
  {
    "name": "agntdata_instagram_Explore_sections_list",
    "description": "Explore sections list",
    "method": "GET",
    "path": "/sections",
    "parameters": {
      "type": "object",
      "properties": {
        "fields": {
          "type": "string",
          "description": "Use the `fields` parameter to reduce bandwidth consumption and minimize response size by returning only the necessary data."
        }
      }
    }
  },
  {
    "name": "agntdata_instagram_Cities_by_country_code",
    "description": "Cities by country code",
    "method": "GET",
    "path": "/cities",
    "parameters": {
      "type": "object",
      "properties": {
        "fields": {
          "type": "string",
          "description": "Use the `fields` parameter to reduce bandwidth consumption and minimize response size by returning only the necessary data."
        },
        "country_code": {
          "type": "string",
          "description": "country_code"
        },
        "page": {
          "type": "number",
          "description": "page"
        }
      },
      "required": [
        "country_code"
      ]
    }
  },
  {
    "name": "agntdata_instagram_Media_by_location_ID",
    "description": "Media by location ID",
    "method": "GET",
    "path": "/location-feeds",
    "parameters": {
      "type": "object",
      "properties": {
        "fields": {
          "type": "string",
          "description": "Use the `fields` parameter to reduce bandwidth consumption and minimize response size by returning only the necessary data."
        },
        "tab": {
          "type": "string",
          "description": "tab"
        },
        "id": {
          "type": "string",
          "description": "id"
        },
        "end_cursor": {
          "type": "string",
          "description": "end_cursor"
        }
      },
      "required": [
        "tab",
        "id"
      ]
    }
  },
  {
    "name": "agntdata_instagram_Download_link_by_media_ID_or_URL",
    "description": "Download link by media ID or URL",
    "method": "GET",
    "path": "/post-dl",
    "parameters": {
      "type": "object",
      "properties": {
        "fields": {
          "type": "string",
          "description": "Use the `fields` parameter to reduce bandwidth consumption and minimize response size by returning only the necessary data."
        },
        "url": {
          "type": "string",
          "description": "url"
        }
      },
      "required": [
        "url"
      ]
    }
  },
  {
    "name": "agntdata_instagram_Media_info_by_URL",
    "description": "Media info by URL",
    "method": "GET",
    "path": "/post",
    "parameters": {
      "type": "object",
      "properties": {
        "fields": {
          "type": "string",
          "description": "Use the `fields` parameter to reduce bandwidth consumption and minimize response size by returning only the necessary data."
        },
        "url": {
          "type": "string",
          "description": "url"
        }
      },
      "required": [
        "url"
      ]
    }
  },
  {
    "name": "agntdata_instagram_Related_profiles_by_user_ID",
    "description": "Related profiles by user ID",
    "method": "GET",
    "path": "/related-profiles",
    "parameters": {
      "type": "object",
      "properties": {
        "fields": {
          "type": "string",
          "description": "Use the `fields` parameter to reduce bandwidth consumption and minimize response size by returning only the necessary data."
        },
        "id": {
          "type": "number",
          "description": "id"
        }
      },
      "required": [
        "id"
      ]
    }
  },
  {
    "name": "agntdata_instagram_Reels_by_user_ID",
    "description": "Reels by user ID",
    "method": "GET",
    "path": "/reels",
    "parameters": {
      "type": "object",
      "properties": {
        "max_id": {
          "type": "string",
          "description": "max_id"
        },
        "fields": {
          "type": "string",
          "description": "Use the `fields` parameter to reduce bandwidth consumption and minimize response size by returning only the necessary data."
        },
        "count": {
          "type": "number",
          "description": "count"
        },
        "id": {
          "type": "number",
          "description": "id"
        }
      },
      "required": [
        "count",
        "id"
      ]
    }
  },
  {
    "name": "agntdata_instagram_Media_list__V2__by_user_ID",
    "description": "Media list (V2) by user ID",
    "method": "GET",
    "path": "/user-feeds2",
    "parameters": {
      "type": "object",
      "properties": {
        "end_cursor": {
          "type": "string",
          "description": "end_cursor"
        },
        "fields": {
          "type": "string",
          "description": "Use the `fields` parameter to reduce bandwidth consumption and minimize response size by returning only the necessary data."
        },
        "count": {
          "type": "number",
          "description": "count"
        },
        "id": {
          "type": "number",
          "description": "id"
        }
      },
      "required": [
        "count",
        "id"
      ]
    }
  },
  {
    "name": "agntdata_instagram_Media_list_by_user_ID",
    "description": "Media list by user ID",
    "method": "GET",
    "path": "/user-feeds",
    "parameters": {
      "type": "object",
      "properties": {
        "count": {
          "type": "number",
          "description": "count"
        },
        "fields": {
          "type": "string",
          "description": "Use the `fields` parameter to reduce bandwidth consumption and minimize response size by returning only the necessary data."
        },
        "max_id": {
          "type": "string",
          "description": "max_id"
        },
        "allow_restricted_media": {
          "type": "boolean",
          "description": "allow_restricted_media"
        },
        "id": {
          "type": "number",
          "description": "id"
        }
      },
      "required": [
        "count",
        "id"
      ]
    }
  },
  {
    "name": "agntdata_instagram_User_info__V2__by_username",
    "description": "User info (V2) by username",
    "method": "GET",
    "path": "/profile2",
    "parameters": {
      "type": "object",
      "properties": {
        "fields": {
          "type": "string",
          "description": "Use the `fields` parameter to reduce bandwidth consumption and minimize response size by returning only the necessary data."
        },
        "username": {
          "type": "string",
          "description": "username"
        }
      },
      "required": [
        "username"
      ]
    }
  },
  {
    "name": "agntdata_instagram_User_info_by_user_ID",
    "description": "User info by user ID",
    "method": "GET",
    "path": "/profile",
    "parameters": {
      "type": "object",
      "properties": {
        "fields": {
          "type": "string",
          "description": "Use the `fields` parameter to reduce bandwidth consumption and minimize response size by returning only the necessary data."
        },
        "id": {
          "type": "number",
          "description": "id"
        }
      },
      "required": [
        "id"
      ]
    }
  },
  {
    "name": "agntdata_instagram_Media_shortcode_from_media_ID",
    "description": "Media shortcode from media ID",
    "method": "GET",
    "path": "/id-media",
    "parameters": {
      "type": "object",
      "properties": {
        "fields": {
          "type": "string",
          "description": "Use the `fields` parameter to reduce bandwidth consumption and minimize response size by returning only the necessary data."
        },
        "id": {
          "type": "string",
          "description": "id"
        }
      },
      "required": [
        "id"
      ]
    }
  },
  {
    "name": "agntdata_instagram_Username_from_user_ID",
    "description": "Username from user ID",
    "method": "GET",
    "path": "/id",
    "parameters": {
      "type": "object",
      "properties": {
        "fields": {
          "type": "string",
          "description": "Use the `fields` parameter to reduce bandwidth consumption and minimize response size by returning only the necessary data."
        },
        "id": {
          "type": "number",
          "description": "id"
        }
      },
      "required": [
        "id"
      ]
    }
  },
  {
    "name": "agntdata_instagram_Tagged_media_by_user_ID",
    "description": "Tagged media by user ID",
    "method": "GET",
    "path": "/user-tags",
    "parameters": {
      "type": "object",
      "properties": {
        "fields": {
          "type": "string",
          "description": "Use the `fields` parameter to reduce bandwidth consumption and minimize response size by returning only the necessary data."
        },
        "count": {
          "type": "number",
          "description": "count"
        },
        "end_cursor": {
          "type": "string",
          "description": "end_cursor"
        },
        "id": {
          "type": "number",
          "description": "id"
        }
      },
      "required": [
        "count",
        "id"
      ]
    }
  },
  {
    "name": "agntdata_instagram_Reposts_by_user_ID",
    "description": "Reposts by user ID",
    "method": "GET",
    "path": "/user-reposts",
    "parameters": {
      "type": "object",
      "properties": {
        "max_id": {
          "type": "string",
          "description": "max_id"
        },
        "fields": {
          "type": "string",
          "description": "Use the `fields` parameter to reduce bandwidth consumption and minimize response size by returning only the necessary data."
        },
        "id": {
          "type": "number",
          "description": "id"
        }
      },
      "required": [
        "id"
      ]
    }
  },
  {
    "name": "agntdata_instagram_Locations_by_city_ID",
    "description": "Locations by city ID",
    "method": "GET",
    "path": "/locations",
    "parameters": {
      "type": "object",
      "properties": {
        "page": {
          "type": "number",
          "description": "page"
        },
        "fields": {
          "type": "string",
          "description": "Use the `fields` parameter to reduce bandwidth consumption and minimize response size by returning only the necessary data."
        },
        "city_id": {
          "type": "string",
          "description": "city_id"
        }
      },
      "required": [
        "city_id"
      ]
    }
  },
  {
    "name": "agntdata_instagram_Location_info_by_location_ID",
    "description": "Location info by location ID",
    "method": "GET",
    "path": "/location-info",
    "parameters": {
      "type": "object",
      "properties": {
        "fields": {
          "type": "string",
          "description": "Use the `fields` parameter to reduce bandwidth consumption and minimize response size by returning only the necessary data."
        },
        "id": {
          "type": "number",
          "description": "id"
        }
      },
      "required": [
        "id"
      ]
    }
  },
  {
    "name": "agntdata_instagram_Web_profile_info_by_username",
    "description": "Web profile info by username",
    "method": "GET",
    "path": "/web-profile",
    "parameters": {
      "type": "object",
      "properties": {
        "fields": {
          "type": "string",
          "description": "Use the `fields` parameter to reduce bandwidth consumption and minimize response size by returning only the necessary data."
        },
        "username": {
          "type": "string",
          "description": "username"
        }
      },
      "required": [
        "username"
      ]
    }
  },
  {
    "name": "agntdata_instagram_Music_info_by_music_ID",
    "description": "Music info by music ID",
    "method": "GET",
    "path": "/music",
    "parameters": {
      "type": "object",
      "properties": {
        "fields": {
          "type": "string",
          "description": "Use the `fields` parameter to reduce bandwidth consumption and minimize response size by returning only the necessary data."
        },
        "max_id": {
          "type": "string",
          "description": "max_id"
        },
        "id": {
          "type": "number",
          "description": "id"
        }
      },
      "required": [
        "id"
      ]
    }
  },
  {
    "name": "agntdata_instagram_Media_by_hashtag",
    "description": "Media by hashtag",
    "method": "GET",
    "path": "/tag-feeds",
    "parameters": {
      "type": "object",
      "properties": {
        "end_cursor": {
          "type": "string",
          "description": "end_cursor"
        },
        "fields": {
          "type": "string",
          "description": "Use the `fields` parameter to reduce bandwidth consumption and minimize response size by returning only the necessary data."
        },
        "query": {
          "type": "string",
          "description": "query"
        }
      },
      "required": [
        "query"
      ]
    }
  }
]

Example

curl -X GET 'https://api.agntdata.dev/v1/instagram/' \
  -H 'Authorization: Bearer $AGNTDATA_API_KEY'

Use Cases

  • Social and creator intelligence agents using Instagram
  • Marketing and research teams monitoring accounts and content
  • Product teams building alerts, digests, and dashboards
  • Developers prototyping LLM tools that need live network data
  • Data teams joining Instagram signals with CRM or warehouse data

Other Platforms

agntdata provides unified access to social data across multiple platforms. Explore other available APIs:

curl https://api.agntdata.dev/v1/platforms

Available platforms: LinkedIn, YouTube, TikTok, X, Instagram, Reddit, Facebook. Each uses the same API key and follows the same patterns.

Links

Usage Guidance
This skill appears internally coherent, but you should verify you trust the agntdata service before supplying an API key. Recommendations: (1) Confirm the API hostname (api.agntdata.dev) and dashboard URL are legitimate for the provider you expect. (2) Use a least-privileged API key and scope/rotate it if possible. (3) Avoid pasting the API key into public chat; set it as an environment variable in a secure environment. (4) If you need tighter control or offline validation, prefer installing the vendor plugin mentioned in the SKILL.md and review its package source before use. If you notice the skill asking for other credentials or instructing access to system files, do not proceed.
Capability Analysis
Type: OpenClaw Skill Name: agntdata-instagram Version: 1.0.13 The skill is a legitimate integration for the AgntData Instagram API, providing tool definitions for an AI agent to access social media data such as profiles, reels, and hashtags. It follows standard practices by using an environment variable (AGNTDATA_API_KEY) for authentication and interacting exclusively with the service's official endpoints (api.agntdata.dev), with no evidence of malicious execution, data exfiltration, or prompt injection.
Capability Tags
requires-oauth-tokenrequires-sensitive-credentials
Capability Assessment
Purpose & Capability
Name, description, and declared requirements (AGNTDATA_API_KEY, curl) align with an HTTP wrapper around agntdata's Instagram endpoints. The SKILL.md documents endpoints and usage consistent with this purpose.
Instruction Scope
Runtime instructions are limited to calling agntdata endpoints, setting the AGNTDATA_API_KEY env var, and optionally hitting a one-time register endpoint. The skill does not instruct reading unrelated files, system credentials, or sending data to external endpoints outside the agntdata domains documented in the README.
Install Mechanism
This is an instruction-only skill with no install spec or archived downloads; no code is written to disk. Risk from installation is minimal.
Credentials
Only a single service credential (AGNTDATA_API_KEY) is required and used as a Bearer token for agntdata APIs; this is proportionate. No unrelated secrets or excessive env vars are requested.
Persistence & Privilege
always is false and the skill does not request elevated or persistent platform privileges. Default autonomous invocation is allowed but not exceptional and is consistent with typical skills.
How to Use
  1. Make sure OpenClaw is installed (local or Docker)
  2. Run the install command in chat: /install agntdata-instagram
  3. After installation, invoke the skill by name or use /agntdata-instagram
  4. Provide required inputs per the skill's parameter spec and get structured output
Version History
v1.0.13
Version 1.0.13 - Updated version number to 1.0.13. - No functional or API changes; documentation refreshed for consistency.
v1.0.12
- Updated homepage URL in the skill metadata to: https://agnt.mintlify.app/apis/social/instagram - Bumped version to 1.0.12
v1.0.11
- Version bump to 1.0.11. - Updated SKILL.md metadata version field from 1.0.10 to 1.0.11. - No other content or functional changes.
v1.0.10
agntdata-instagram v1.0.10 - Updated version metadata to 1.0.10. - No functional or endpoint changes; documentation and metadata refresh only.
v1.0.9
- Updated version to 1.0.9. - Minor documentation update: the Discovery Endpoints response list now omits "credit costs" to reflect current API details.
v1.0.7
agntdata-instagram v1.0.7 - Updated documentation with clearer usage recommendations and plugin alternatives. - Expanded API reference details, including authentication, discovery endpoints, and available endpoints. - Added detailed tool schemas for all available Instagram API operations. - Clarified environment variable requirements and initial API key registration process. - Improved guidance for obtaining and activating an API key.
Metadata
Slug agntdata-instagram
Version 1.0.13
License MIT-0
All-time Installs 0
Active Installs 0
Total Versions 6
Frequently Asked Questions

What is Instagram API?

Instagram API integration with a single agntdata API key (Bearer token). Read user profiles, media, reels, explore feeds, and hashtag data. Use this skill wh... It is an AI Agent Skill for Claude Code / OpenClaw, with 148 downloads so far.

How do I install Instagram API?

Run "/install agntdata-instagram" in the OpenClaw or Claude Code chat to install it in one step — no extra setup required.

Is Instagram API free?

Yes, Instagram API is completely free, licensed under MIT-0. You can download, install and use it at no cost.

Which platforms does Instagram API support?

Instagram API is cross-platform and runs anywhere OpenClaw / Claude Code is available (cross-platform).

Who created Instagram API?

It is built and maintained by Jaen (@jaencarrodine); the current version is v1.0.13.

💬 Comments