cURL
curl --request GET \
--url https://api.influship.com/v1/raw/tiktok/hashtag/videos \
--header 'X-API-Key: <api-key>'import Influship from 'influship';
const client = new Influship({
apiKey: process.env['INFLUSHIP_API_KEY'], // This is the default and can be omitted
});
const response = await client.raw.tiktok.listHashtagVideos({ hashtag: 'hashtag' });
console.log(response.data);import requests
url = "https://api.influship.com/v1/raw/tiktok/hashtag/videos"
headers = {"X-API-Key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text){
"data": {
"videos": [
{
"video_id": "<string>",
"url": "<string>",
"author": {
"user_id": "<string>",
"username": "<string>",
"display_name": "<string>",
"avatar_url": "<string>",
"is_verified": true
},
"description": "<string>",
"created_at": "2023-11-07T05:31:56Z",
"duration_seconds": 1,
"media_type": "video",
"thumbnail_url": "<string>",
"video_url": "<string>",
"has_watermark": true,
"images": [
"<string>"
],
"view_count": 4503599627370495,
"like_count": 4503599627370495,
"comment_count": 4503599627370495,
"share_count": 4503599627370495,
"save_count": 4503599627370495,
"hashtags": [
"<string>"
],
"music": {
"music_id": "<string>",
"title": "<string>",
"author": "<string>",
"duration_seconds": 1
},
"is_pinned": true
}
],
"has_more": true,
"next_cursor": "<string>",
"scraped_at": "2023-11-07T05:31:56Z",
"hashtag": "<string>"
}
}{
"error": {
"code": "validation_error",
"message": "Invalid value for parameter 'limit': must be between 1 and 100",
"param": "limit",
"request_id": "550e8400-e29b-41d4-a716-446655440000"
}
}{
"error": {
"code": "unauthorized",
"message": "API key missing or invalid",
"request_id": "550e8400-e29b-41d4-a716-446655440000"
}
}{
"error": {
"code": "payment_required",
"message": "Payment authentication is required.",
"status_code": 402,
"reason_code": "PAYMENT_ACTION_REQUIRED",
"next_step": "complete_authentication",
"request_id": "550e8400-e29b-41d4-a716-446655440000"
}
}{
"error": {
"code": "forbidden",
"message": "Your plan does not include access to this endpoint",
"request_id": "550e8400-e29b-41d4-a716-446655440000"
}
}{
"error": {
"code": "not_found",
"message": "Creator with ID '123e4567-e89b-12d3-a456-426614174000' not found",
"request_id": "550e8400-e29b-41d4-a716-446655440000"
}
}{
"error": {
"code": "validation_error",
"message": "Invalid Instagram username format",
"param": "username",
"request_id": "550e8400-e29b-41d4-a716-446655440000"
}
}{
"error": {
"code": "rate_limit_exceeded",
"message": "Rate limit exceeded (per minute)",
"request_id": "550e8400-e29b-41d4-a716-446655440000"
}
}{
"error": {
"code": "internal_error",
"message": "An unexpected error occurred. Please try again later.",
"request_id": "550e8400-e29b-41d4-a716-446655440000"
}
}{
"error": {
"code": "upstream_contract_broken",
"message": "The upstream source returned data this endpoint cannot process. This is not retryable; it has been reported.",
"request_id": "550e8400-e29b-41d4-a716-446655440000",
"details": {
"upstream_error": "upstream_contract_broken",
"retryable": false
}
}
}{
"error": {
"code": "service_unavailable",
"message": "Live Instagram data is temporarily unavailable. Please retry shortly.",
"request_id": "550e8400-e29b-41d4-a716-446655440000",
"details": {
"retry_after_seconds": 60,
"upstream_error": "upstream_rate_limited"
}
}
}Live Scraping
Get TikTok Hashtag Videos
Fetch one page of videos under a hashtag, supplied without #. Continue with next_cursor and the same hashtag; cursors are opaque. Duplicate results are preserved. Each successful page, including an empty page, is charged once. Media links are temporary.
Pricing: 0.2 credits per hashtag video page ($0.002)
GET
/
v1
/
raw
/
tiktok
/
hashtag
/
videos
cURL
curl --request GET \
--url https://api.influship.com/v1/raw/tiktok/hashtag/videos \
--header 'X-API-Key: <api-key>'import Influship from 'influship';
const client = new Influship({
apiKey: process.env['INFLUSHIP_API_KEY'], // This is the default and can be omitted
});
const response = await client.raw.tiktok.listHashtagVideos({ hashtag: 'hashtag' });
console.log(response.data);import requests
url = "https://api.influship.com/v1/raw/tiktok/hashtag/videos"
headers = {"X-API-Key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text){
"data": {
"videos": [
{
"video_id": "<string>",
"url": "<string>",
"author": {
"user_id": "<string>",
"username": "<string>",
"display_name": "<string>",
"avatar_url": "<string>",
"is_verified": true
},
"description": "<string>",
"created_at": "2023-11-07T05:31:56Z",
"duration_seconds": 1,
"media_type": "video",
"thumbnail_url": "<string>",
"video_url": "<string>",
"has_watermark": true,
"images": [
"<string>"
],
"view_count": 4503599627370495,
"like_count": 4503599627370495,
"comment_count": 4503599627370495,
"share_count": 4503599627370495,
"save_count": 4503599627370495,
"hashtags": [
"<string>"
],
"music": {
"music_id": "<string>",
"title": "<string>",
"author": "<string>",
"duration_seconds": 1
},
"is_pinned": true
}
],
"has_more": true,
"next_cursor": "<string>",
"scraped_at": "2023-11-07T05:31:56Z",
"hashtag": "<string>"
}
}{
"error": {
"code": "validation_error",
"message": "Invalid value for parameter 'limit': must be between 1 and 100",
"param": "limit",
"request_id": "550e8400-e29b-41d4-a716-446655440000"
}
}{
"error": {
"code": "unauthorized",
"message": "API key missing or invalid",
"request_id": "550e8400-e29b-41d4-a716-446655440000"
}
}{
"error": {
"code": "payment_required",
"message": "Payment authentication is required.",
"status_code": 402,
"reason_code": "PAYMENT_ACTION_REQUIRED",
"next_step": "complete_authentication",
"request_id": "550e8400-e29b-41d4-a716-446655440000"
}
}{
"error": {
"code": "forbidden",
"message": "Your plan does not include access to this endpoint",
"request_id": "550e8400-e29b-41d4-a716-446655440000"
}
}{
"error": {
"code": "not_found",
"message": "Creator with ID '123e4567-e89b-12d3-a456-426614174000' not found",
"request_id": "550e8400-e29b-41d4-a716-446655440000"
}
}{
"error": {
"code": "validation_error",
"message": "Invalid Instagram username format",
"param": "username",
"request_id": "550e8400-e29b-41d4-a716-446655440000"
}
}{
"error": {
"code": "rate_limit_exceeded",
"message": "Rate limit exceeded (per minute)",
"request_id": "550e8400-e29b-41d4-a716-446655440000"
}
}{
"error": {
"code": "internal_error",
"message": "An unexpected error occurred. Please try again later.",
"request_id": "550e8400-e29b-41d4-a716-446655440000"
}
}{
"error": {
"code": "upstream_contract_broken",
"message": "The upstream source returned data this endpoint cannot process. This is not retryable; it has been reported.",
"request_id": "550e8400-e29b-41d4-a716-446655440000",
"details": {
"upstream_error": "upstream_contract_broken",
"retryable": false
}
}
}{
"error": {
"code": "service_unavailable",
"message": "Live Instagram data is temporarily unavailable. Please retry shortly.",
"request_id": "550e8400-e29b-41d4-a716-446655440000",
"details": {
"retry_after_seconds": 60,
"upstream_error": "upstream_rate_limited"
}
}
}