X profile report
curl 'https://api.xholic.ai/v1/free-tools/profile-report?handle=%40founder&report=analytics'xholic free-tools profile-report --handle '@founder' --report 'analytics'{ "name": "x_profile_report", "arguments": { "handle": "@founder", "report": "analytics" }}const response = await fetch("https://api.xholic.ai/v1/free-tools/profile-report?handle=%40founder&report=analytics", { headers: { Authorization: `Bearer ${process.env.XHOLIC_API_KEY}` },});const result = await response.json();console.log(result.summary);import axios from "axios";
const { data } = await axios.get("https://api.xholic.ai/v1/free-tools/profile-report", { params: { "handle": "@founder", "report": "analytics" }, headers: { Authorization: `Bearer ${process.env.XHOLIC_API_KEY}` },});console.log(data.summary);import osimport requests
response = requests.get( "https://api.xholic.ai/v1/free-tools/profile-report", headers={"Authorization": f"Bearer {os.environ['XHOLIC_API_KEY']}"}, params={ "handle": "@founder", "report": "analytics" },)print(response.json()["summary"])package main
import ( "fmt" "io" "net/http" "os")
func main() { req, _ := http.NewRequest("GET", "https://api.xholic.ai/v1/free-tools/profile-report?handle=%40founder&report=analytics", nil) req.Header.Set("Authorization", "Bearer "+os.Getenv("XHOLIC_API_KEY")) res, err := http.DefaultClient.Do(req) if err != nil { panic(err) } defer res.Body.Close() body, _ := io.ReadAll(res.Body) fmt.Println(string(body))}<?php$ch = curl_init("https://api.xholic.ai/v1/free-tools/profile-report?handle=%40founder&report=analytics");curl_setopt_array($ch, [ CURLOPT_RETURNTRANSFER => true, CURLOPT_HTTPHEADER => ['Authorization: Bearer ' . getenv('XHOLIC_API_KEY')],]);$result = json_decode(curl_exec($ch), true);echo $result['summary'];require "net/http"require "json"
uri = URI("https://api.xholic.ai/v1/free-tools/profile-report?handle=%40founder&report=analytics")req = Net::HTTP::Get.new(uri)req["Authorization"] = "Bearer #{ENV.fetch("XHOLIC_API_KEY")}"res = Net::HTTP.start(uri.host, uri.port, use_ssl: true) { |http| http.request(req) }puts JSON.parse(res.body)["summary"]A free report on any public X account. report: analytics (followers, posting and engagement over recent posts), audit (profile and content checklist with fixes), best-time (when its posts do best; pass timezone), engagement-rate (average engagement rate with a benchmark), media (its profile picture and header image at full size).
Authorizations
Section titled “Authorizations”- None
- bearerAuth
Parameters
Section titled “Parameters”Query Parameters
Section titled “Query Parameters”X username, with or without @.
X username, with or without @.
Example
@founderExample
analyticsFor analytics and best-time: IANA timezone for times of day.
For analytics and best-time: IANA timezone for times of day.
X account to act on, as @handle. Leave it out to use the connection’s default account.
X account to act on, as @handle. Leave it out to use the connection’s default account.
Responses
Section titled “Responses”Success
object
One or two readable sentences about the result.
The result. Its shape depends on the action.
object
Example
{ "ok": true}default
Section titled “default”Error
object
object
Example
{ "ok": false, "error": { "code": "UNAUTHENTICATED", "scope": "account" }}