Look up a public Instagram Business account
curl --request GET \
--url https://api.aisa.one/apis/v1/social/accounts/{accountId}/instagram/business-discovery \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.aisa.one/apis/v1/social/accounts/{accountId}/instagram/business-discovery"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.aisa.one/apis/v1/social/accounts/{accountId}/instagram/business-discovery', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.aisa.one/apis/v1/social/accounts/{accountId}/instagram/business-discovery",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.aisa.one/apis/v1/social/accounts/{accountId}/instagram/business-discovery"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.aisa.one/apis/v1/social/accounts/{accountId}/instagram/business-discovery")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.aisa.one/apis/v1/social/accounts/{accountId}/instagram/business-discovery")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"media": [
{
"caption": "<string>",
"children": [
{
"id": "<string>",
"mediaType": "<string>",
"mediaUrl": "<string>",
"thumbnailUrl": "<string>"
}
],
"commentsCount": 123,
"id": "<string>",
"likeCount": 123,
"mediaProductType": "<string>",
"mediaType": "<string>",
"mediaUrl": "<string>",
"permalink": "<string>",
"thumbnailUrl": "<string>",
"timestamp": "2023-11-07T05:31:56Z",
"viewCount": 123
}
],
"profile": {
"id": "<string>",
"username": "<string>",
"biography": "<string>",
"followersCount": 123,
"followsCount": 123,
"mediaCount": 123,
"name": "<string>",
"profilePictureUrl": "<string>",
"website": "<string>"
}
}{
"error": {
"code": "<string>",
"details": {},
"message": "<string>",
"param": "<string>",
"retryHint": "never",
"retryable": true,
"type": "<string>"
}
}AIsa Social
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 -->
GET
https://api.aisa.one
/
apis
/
v1
/
social
/
accounts
/
{accountId}
/
instagram
/
business-discovery
Look up a public Instagram Business account
curl --request GET \
--url https://api.aisa.one/apis/v1/social/accounts/{accountId}/instagram/business-discovery \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.aisa.one/apis/v1/social/accounts/{accountId}/instagram/business-discovery"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.aisa.one/apis/v1/social/accounts/{accountId}/instagram/business-discovery', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.aisa.one/apis/v1/social/accounts/{accountId}/instagram/business-discovery",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.aisa.one/apis/v1/social/accounts/{accountId}/instagram/business-discovery"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.aisa.one/apis/v1/social/accounts/{accountId}/instagram/business-discovery")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.aisa.one/apis/v1/social/accounts/{accountId}/instagram/business-discovery")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"media": [
{
"caption": "<string>",
"children": [
{
"id": "<string>",
"mediaType": "<string>",
"mediaUrl": "<string>",
"thumbnailUrl": "<string>"
}
],
"commentsCount": 123,
"id": "<string>",
"likeCount": 123,
"mediaProductType": "<string>",
"mediaType": "<string>",
"mediaUrl": "<string>",
"permalink": "<string>",
"thumbnailUrl": "<string>",
"timestamp": "2023-11-07T05:31:56Z",
"viewCount": 123
}
],
"profile": {
"id": "<string>",
"username": "<string>",
"biography": "<string>",
"followersCount": 123,
"followsCount": 123,
"mediaCount": 123,
"name": "<string>",
"profilePictureUrl": "<string>",
"website": "<string>"
}
}{
"error": {
"code": "<string>",
"details": {},
"message": "<string>",
"param": "<string>",
"retryHint": "never",
"retryable": true,
"type": "<string>"
}
}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
{
"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.Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Path Parameters
One of your social accounts (acc_...).
Pattern:
^acc_[0-9A-Za-z]{22}$Query Parameters
Instagram handle to look up, with or without the leading @. Case-insensitive.
Maximum string length:
31How many of the most recent media to return.
Required range:
1 <= x <= 25