Authentication
Authenticate requests with your API key using the following HTTP header.
Authorization: Bearer <YOUR_KEY>API access requires a paid workspace. Calls are billed by usage.
POST/api/openapi/v1/creators/recent-postsCreator recent posts
API pricing0.1 credits / successful request
Empty results are charged; failures are refunded. Each request is charged separately.
Supported platformsInstagram / YouTube / TikTok / Twitter / X
Quick start (cURL)
curl -X POST 'https://app.hicreator.ai/api/openapi/v1/creators/recent-posts' \
-H 'Authorization: Bearer <YOUR_KEY>' \
-H 'Content-Type: application/json' \
-d '{
"profile_url": "https://www.instagram.com/example_creator/"
}'Request parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| profile_url | string | Yes | Creator profile URL. |
Response fields
Photos, videos and carousels; may include pinned or collaborative posts. Recent posts only; unavailable fields are omitted.
| Parameter | Type | Always returned | Description |
|---|---|---|---|
| requestId | string | Yes | Request ID for support. |
| billingRequestId | string | Yes | Billing record ID. |
| data | object | Yes | Query result. |
| data.platform | 'instagram' | Yes | Platform. |
| data.canonicalUrl | string (URL) | Yes | Profile or content link. |
| data.retrievedAt | string (ISO 8601) | Yes | Retrieved at. |
| data.items | object[] | Yes | Recent posts; may be empty. |
| data.items[].id | string | Yes | Platform post ID. |
| data.items[].url | string (URL) | Yes | Original post link. |
| data.items[].text | string | No | Post text or description. |
| data.items[].contentType | string | No | Content type.View allowed valuesphoto / carousel / video / reel |
| data.items[].durationSeconds | number | No | Video duration in seconds; omitted for posts with multiple videos. |
| data.items[].thumbnailUrl | string (URL) | No | Cover image link. |
| data.items[].publishedAt | string | No | Publication date or time (YYYY-MM-DD / ISO 8601). |
| data.items[].metrics | object | Yes | Engagement metrics. |
| data.items[].metrics.viewCount | integer | No | Plays or views. |
| data.items[].metrics.likeCount | integer | No | Likes. |
| data.items[].metrics.commentCount | integer | No | Comments. |
| data.items[].metrics.shareCount | integer | No | Shares. |
| data.items[].metrics.saveCount | integer | No | Saves. |
| data.items[].metrics.repostCount | integer | No | Repost count. |
| data.items[].platformDetails | object | No | Platform-specific details. |
| data.items[].platformDetails.pinned | boolean | No | Pinned post. |
| data.items[].platformDetails.paidPartnership | boolean | No | Marked as a paid partnership. |
Example response (JSON)
{
"requestId": "<request-id>",
"billingRequestId": "<billing-request-id>",
"data": {
"platform": "instagram",
"canonicalUrl": "https://www.instagram.com/example_creator/",
"retrievedAt": "2026-11-09T00:00:00.000Z",
"items": [
{
"id": "123456789",
"url": "https://www.instagram.com/p/EXAMPLE123/",
"contentType": "reel",
"durationSeconds": 30,
"text": "A recent update from the creator.",
"publishedAt": "2026-11-08T00:00:00.000Z",
"thumbnailUrl": "https://assets.example.com/cover.jpg",
"metrics": {
"viewCount": 1200,
"likeCount": 100,
"commentCount": 5,
"repostCount": 8
},
"platformDetails": {
"pinned": false,
"paidPartnership": false
}
}
]
}
}Errors and retries
See error.message; keep requestId for support. Do not retry uncertain requests.
View error codes
Request: 400 invalid parameters (10001) or quantity below the minimum (70004); 401 invalid key (20001); 403 API access is only available to paid Workspaces (60006); 413 payload too large (10005); 415 unsupported format (10006); 429 too many requests (10007).
Execution: 404 Twitter creator unavailable (60008); 422 invalid search intent (60001) or target account (60002); 422 email lookup incomplete (60009): search limits reached, fully refunded; this does not mean no email exists and must not be automatically retried; 502 email lookup failed (60003) or execution failed (60004); 504 request timed out (60005). Gateway error pages are returned as JSON with code API_UPSTREAM_ERROR; do not automatically retry paid requests.
Credits: 402 insufficient balance (70001) or daily limit exceeded (70006); 409 feature unavailable (70002) or credit record conflict (70003). API errors include error.code, error.message, and error.requestId. Business errors include error.billingRequestId after charging starts; gateway fallbacks may lack it and cannot confirm refund status.