> ## Documentation Index
> Fetch the complete documentation index at: https://aisa.one/docs/llms.txt
> Use this file to discover all available pages before exploring further.

> ## Agent Instructions
> - Base URLs: models `https://api.aisa.one/v1` (Gemini GenerateContent: `https://api.aisa.one/v1beta`); data APIs `https://api.aisa.one/apis/v1`. The `servers` of each operation in https://aisa.one/openapi.yaml is authoritative.
> - Auth: `Authorization: Bearer $AISA_API_KEY`. Never print, log, or commit the key.
> - MCP (preferred for agents): `https://mcp.aisa.one/mcp`, signed in with OAuth, so there is no key to paste.
> - Agent Skill: `npx skills add AIsa-team/agent-skills --skill aisa`. Fallback with the AIsa CLI: `aisa skills install aisa`.
> - Spending: docs, https://aisa.one/models, https://aisa.one/api, `/v1/models`, and MCP `search`, `list_categories`, `get_details`, `batch_quote`, and the `account` operation are free. Quote the exact calls before running them (MCP `batch_quote`, CLI `aisa quote --json`). If the quote reports `auto_execute_eligible: true`, run it unless the user set a tighter limit or asked only for a quote. Otherwise, tell the user in one message the planned calls, the quoted price, and a total USD budget for the task, then wait for approval. Direct HTTP calls follow the stricter rule at https://aisa.one/docs/get-started/cli.md#direct-http-fallback. Do not make paid calls to test availability. Full rule: https://aisa.one/llms.txt

# Look up a public Instagram Business account

> Instagram. Read only; needs social:read. Ids are yours: accounts acc_..., profiles prf_..., posts pst_...; every other object id is checked against your accounts before the call.

Returns the public profile and most recent media of any Instagram
Business or Creator account, looked up by username through one of your
connected Instagram accounts. Useful for competitor and market research.
Personal accounts and private accounts cannot be looked up.

Requires an Instagram account connected via **Facebook Login**. Meta
serves business discovery on graph.facebook.com only, so accounts
connected with classic Instagram Login receive a 400
(`instagram_business_discovery_requires_facebook_login`) and must be
reconnected choosing the Facebook option. Any one such account can look
up any public Business or Creator handle.

`likeCount` is null when the owner hides like counts.

Media URLs are temporary, and fields Meta does not return come back as null, never omitted.

<!-- aisa-pricing:start -->
A request reference price is not currently available; use a request quote where supported. Account-specific pricing and final settlement may differ.
<!-- aisa-pricing:end -->

## Request contract

* **Method and path:** GET /apis/v1/social/accounts/\{accountId}/instagram/business-discovery
* **Availability:** enabled
* **Request URL template:** `https://api.aisa.one/apis/v1/social/accounts/{accountId}/instagram/business-discovery`
* **accountId:** path; required
* **username:** query; required
* **limit:** query; optional
* **Runtime facts:** 99acb5bddbedc8d3352e7c4fef86c3e6d8852c14772bcd18dbcf415237a642bd

[Complete OpenAPI definition](https://aisa.one/docs/reference-contracts/aisa-social.json)

Effective request and pricing declaration (including authentication and referenced schemas):

```json theme={null}
{
  "operationId": "get_aisa_social_apis_v1_social_accounts_accountid_2b1a7f",
  "method": "GET",
  "path": "/apis/v1/social/accounts/{accountId}/instagram/business-discovery",
  "servers": [
    {
      "url": "https://api.aisa.one"
    }
  ],
  "parameters": [
    {
      "description": "One of your social accounts (acc_...).",
      "in": "path",
      "name": "accountId",
      "required": true,
      "schema": {
        "pattern": "^acc_[0-9A-Za-z]{22}$",
        "type": "string"
      }
    },
    {
      "description": "Instagram handle to look up, with or without the leading @. Case-insensitive.",
      "in": "query",
      "name": "username",
      "required": true,
      "schema": {
        "maxLength": 31,
        "type": "string"
      }
    },
    {
      "description": "How many of the most recent media to return.",
      "in": "query",
      "name": "limit",
      "required": false,
      "schema": {
        "default": 12,
        "maximum": 25,
        "minimum": 1,
        "type": "integer"
      }
    }
  ],
  "security": [
    {
      "bearerAuth": []
    }
  ],
  "x-aisa-status": "enabled",
  "x-aisa-pricing": {
    "description": "Included with your connected social accounts: AIsa does not charge per call.",
    "kind": "no_customer_charge"
  },
  "components": {
    "securitySchemes": {
      "bearerAuth": {
        "scheme": "bearer",
        "type": "http"
      }
    }
  }
}
```

## Cost and request rules

A request reference price is not currently available; use a request quote where supported. Account-specific pricing and final settlement may differ.

Published reference values are not an account-specific quote or a settled charge. For endpoints supporting X-AISA-Cost-Mode: quote, obtain a free quote for your exact request before execution; reconcile the settled cost with response metadata and Usage Logs. USD amounts use 1,000,000 integer micro-USD per dollar.


## OpenAPI

````yaml reference-contracts/aisa-social.json GET /apis/v1/social/accounts/{accountId}/instagram/business-discovery
openapi: 3.1.0
info:
  description: ''
  title: AIsa Social
  version: '1'
  x-aisa-capabilities:
    idempotency: Idempotency-Key
    max_price: X-AISA-Max-Price-USD
    quote:
      header: X-AISA-Cost-Mode
      value: quote
  x-aisa-configured-paths: []
  x-aisa-document:
    facts_hash: 99acb5bddbedc8d3352e7c4fef86c3e6d8852c14772bcd18dbcf415237a642bd
    generator_version: '3'
    protocol_version: '1'
    schema_version: '1'
    composer_version: '27'
    response_pending: []
    document_hash: sha256:7f9742cb1ea233c648dcb290fdfbf24e53a27dcf900ec1386f83a8ef2e6b1bf9
  x-aisa-plans:
    builder: 1
    display_plan: payg
    payg: 1
    similarweb_payg: 1
    team: 1
    version: e70a0959cd1b93b84ae16dffd7a538273ddb9c1d46277b82823c37ff1b6bc0fb
  x-aisa-provider: aisa-social
  x-aisa-catalogs:
    aisa-social:
      title: AIsa Social
      description: ''
      x-aisa-document:
        facts_hash: 99acb5bddbedc8d3352e7c4fef86c3e6d8852c14772bcd18dbcf415237a642bd
        generator_version: '3'
        protocol_version: '1'
        schema_version: '1'
      x-aisa-plans:
        builder: 1
        display_plan: payg
        payg: 1
        similarweb_payg: 1
        team: 1
        version: e70a0959cd1b93b84ae16dffd7a538273ddb9c1d46277b82823c37ff1b6bc0fb
      x-aisa-capabilities:
        idempotency: Idempotency-Key
        max_price: X-AISA-Max-Price-USD
        quote:
          header: X-AISA-Cost-Mode
          value: quote
servers:
  - url: https://api.aisa.one
security:
  - bearerAuth: []
paths:
  /apis/v1/social/accounts/{accountId}/instagram/business-discovery:
    get:
      summary: Look up a public Instagram Business account
      description: >-
        Instagram. Read only; needs social:read. Ids are yours: accounts
        acc_..., profiles prf_..., posts pst_...; every other object id is
        checked against your accounts before the call.


        Returns the public profile and most recent media of any Instagram

        Business or Creator account, looked up by username through one of your

        connected Instagram accounts. Useful for competitor and market research.

        Personal accounts and private accounts cannot be looked up.


        Requires an Instagram account connected via **Facebook Login**. Meta

        serves business discovery on graph.facebook.com only, so accounts

        connected with classic Instagram Login receive a 400

        (`instagram_business_discovery_requires_facebook_login`) and must be

        reconnected choosing the Facebook option. Any one such account can look

        up any public Business or Creator handle.


        `likeCount` is null when the owner hides like counts.


        Media URLs are temporary, and fields Meta does not return come back as
        null, never omitted.


        <!-- aisa-pricing:start -->

        A request reference price is not currently available; use a request
        quote where supported. Account-specific pricing and final settlement may
        differ.

        <!-- aisa-pricing:end -->
      operationId: get_aisa_social_apis_v1_social_accounts_accountid_2b1a7f
      parameters:
        - description: One of your social accounts (acc_...).
          in: path
          name: accountId
          required: true
          schema:
            pattern: ^acc_[0-9A-Za-z]{22}$
            type: string
        - description: >-
            Instagram handle to look up, with or without the leading @.
            Case-insensitive.
          in: query
          name: username
          required: true
          schema:
            maxLength: 31
            type: string
        - description: How many of the most recent media to return.
          in: query
          name: limit
          required: false
          schema:
            default: 12
            maximum: 25
            minimum: 1
            type: integer
      responses:
        '200':
          content:
            application/json:
              schema:
                properties:
                  media:
                    description: Most recent media first, up to `limit`.
                    items:
                      properties:
                        caption:
                          type:
                            - string
                            - 'null'
                        children:
                          description: >-
                            Carousel slides in order. Null unless mediaType is
                            CAROUSEL_ALBUM.
                          items:
                            properties:
                              id:
                                type: string
                              mediaType:
                                type:
                                  - string
                                  - 'null'
                              mediaUrl:
                                type:
                                  - string
                                  - 'null'
                              thumbnailUrl:
                                type:
                                  - string
                                  - 'null'
                            required:
                              - id
                              - mediaType
                              - mediaUrl
                              - thumbnailUrl
                            type: object
                          type:
                            - array
                            - 'null'
                        commentsCount:
                          type:
                            - integer
                            - 'null'
                        id:
                          type: string
                        likeCount:
                          description: Null when the owner hides like counts
                          type:
                            - integer
                            - 'null'
                        mediaProductType:
                          description: FEED or REELS
                          type:
                            - string
                            - 'null'
                        mediaType:
                          description: IMAGE, VIDEO or CAROUSEL_ALBUM
                          type:
                            - string
                            - 'null'
                        mediaUrl:
                          description: >-
                            Temporary CDN URL that expires; download the file
                            rather than storing the link. Null on videos whose
                            audio is licensed music, use thumbnailUrl for the
                            cover.
                          type:
                            - string
                            - 'null'
                        permalink:
                          type:
                            - string
                            - 'null'
                        thumbnailUrl:
                          description: Video cover frame, VIDEO only. Temporary CDN URL.
                          type:
                            - string
                            - 'null'
                        timestamp:
                          format: date-time
                          type:
                            - string
                            - 'null'
                        viewCount:
                          description: Reels only. Null on images and carousels.
                          type:
                            - integer
                            - 'null'
                      required:
                        - caption
                        - children
                        - commentsCount
                        - id
                        - likeCount
                        - mediaProductType
                        - mediaType
                        - mediaUrl
                        - permalink
                        - thumbnailUrl
                        - timestamp
                        - viewCount
                      type: object
                    type: array
                  profile:
                    properties:
                      biography:
                        type:
                          - string
                          - 'null'
                      followersCount:
                        type:
                          - integer
                          - 'null'
                      followsCount:
                        type:
                          - integer
                          - 'null'
                      id:
                        description: Instagram user ID of the looked-up account
                        type: string
                      mediaCount:
                        type:
                          - integer
                          - 'null'
                      name:
                        type:
                          - string
                          - 'null'
                      profilePictureUrl:
                        description: >-
                          Temporary CDN URL; download it rather than storing the
                          link.
                        type:
                          - string
                          - 'null'
                      username:
                        type: string
                      website:
                        type:
                          - string
                          - 'null'
                    required:
                      - id
                      - username
                    type: object
                required:
                  - media
                  - profile
                type: object
          description: Public profile and recent media
        default:
          content:
            application/json:
              schema:
                properties:
                  error:
                    properties:
                      code:
                        type:
                          - string
                          - 'null'
                      details:
                        additionalProperties: {}
                        type:
                          - object
                          - 'null'
                      message:
                        type:
                          - string
                          - 'null'
                      param:
                        type:
                          - string
                          - 'null'
                      retryHint:
                        enum:
                          - never
                          - after_delay
                          - after_reconnect
                          - reconcile_first
                          - null
                        type:
                          - string
                          - 'null'
                      retryable:
                        type:
                          - boolean
                          - 'null'
                      type:
                        type:
                          - string
                          - 'null'
                    type:
                      - object
                      - 'null'
                type: object
          description: Error. The code field is stable; see the error catalog.
components:
  securitySchemes:
    bearerAuth:
      scheme: bearer
      type: http

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.