TikAPI SDK for plain PHP and Laravel, created and maintained by NeedLaravelSite.
This SDK provides a clean, scalable, and framework-agnostic wrapper for the TikAPI — making it easy to fetch TikTok data via PHP or Laravel.
✅ Works in plain PHP
✅ Fully integrated with Laravel (Service Provider + Facade)
✅ Built on Guzzle
✅ Auto-loads API keys from .env
✅ PSR-4 and PSR-12 compliant
✅ Includes feature tests for all public endpoints
composer require needlaravelsite/tikapi-phpRequires PHP 8.0+
php artisan vendor:publish --provider="NeedLaravelSite\\TikApi\\TikApiServiceProvider" --tag=configTIKAPI_API_KEY=your_api_key_here
TIKAPI_ACCOUNT_KEY=your_account_key_if_any
TIKAPI_BASE_URL=https://api.tikapi.ioIf any of these values are missing, the SDK safely defaults to environment values or fallback URLs.
src/
├── Client/
│ └── HttpClient.php
├── Endpoints/
│ └── Public/
│ ├── Check.php
│ ├── CommentReplies.php
│ ├── Comments.php
│ ├── Explore.php
│ ├── Followers.php
│ ├── Following.php
│ ├── Hashtag.php
│ ├── Likes.php
│ ├── Music.php
│ ├── MusicInfo.php
│ ├── Posts.php
│ ├── Search.php
│ └── Video.php
├── Exceptions/
│ └── TikApiException.php
├── Facades/
│ ├── TikApi.php
│ └── TikApiServiceProvider.php
└── TikApi.php
Using the Facade:
use NeedLaravelSite\TikApi\Facades\TikApi;
$response = TikApi::public()->explore()->list(5, 'us');Using Dependency Injection:
use NeedLaravelSite\TikApi\TikApi;
class TikApiController
{
public function index(TikApi $tikapi)
{
return $tikapi->public()->video()->get('7109178205151464746');
}
}<?php
require 'vendor/autoload.php';
use NeedLaravelSite\TikApi\TikApi;
$tikapi = new TikApi();
$response = $tikapi->public()->check()->username('lilyachty');
print_r($response);Or provide credentials manually:
$tikapi = new TikApi('your_api_key', 'optional_account_key', 'https://api.tikapi.io');| Endpoint | Class | Description |
|---|---|---|
/public/check |
Check |
Verify TikAPI connectivity or get public user data |
/public/posts |
Posts |
Get posts by a TikTok user |
/public/likes |
Likes |
Get liked videos for a user |
/public/followers |
Followers |
Get a user's followers |
/public/following |
Following |
Get accounts followed by a user |
/public/explore |
Explore |
Get trending TikTok posts ("For You" feed) |
/public/video |
Video |
Get TikTok video details by ID |
/public/hashtag |
Hashtag |
Get posts by hashtag name or ID |
/public/comment/list |
Comments |
Get comments under a video |
/public/comment/reply/list |
CommentReplies |
Get replies to a comment |
/public/music |
Music |
Get posts using a specific sound |
/public/music/info |
MusicInfo |
Get sound metadata (title, author, duration) |
/public/search/{category} |
Search |
Search users, videos, or keywords |
$tikapi = new TikApi();
// 1️⃣ Get trending posts
$tikapi->public()->explore()->list(10, 'us');
// 2️⃣ Fetch posts by hashtag
$tikapi->public()->hashtag()->list(name: 'funny', count: 10);
// 3️⃣ Get video info
$tikapi->public()->video()->get('7109178205151464746', 'us');
// 4️⃣ Get comments and replies
$tikapi->public()->comments()->list('7109178205151464746');
$tikapi->public()->commentReplies()->list('7109178205151464746', '7109185042560680750');
// 5️⃣ Get music information
$tikapi->public()->musicInfo()->get('28459463');
// 6️⃣ Perform a search
$tikapi->public()->search()->general('lilyachty', 'us');vendor/bin/phpunitvendor/bin/phpunit tests/Feature/Public/SearchIntegrationTest.phpvendor/bin/phpunit --filter testPublicSearchGeneralReturnsSuccessIntegration tests require a valid
TIKAPI_API_KEYin your.envfile.
All errors are thrown as TikApiException for consistent handling.
use NeedLaravelSite\TikApi\Exceptions\TikApiException;
try {
$response = $tikapi->public()->video()->get('7109178205151464746');
} catch (TikApiException $e) {
echo 'TikAPI Error: ' . $e->getMessage();
}Contributions are welcome under the NeedLaravelSite organization.
- Follow PSR-12 coding standards
- Add or update feature tests for new endpoints
- Update README when adding new functionality
MIT License © 2025
Built by Muhammad Waqas at NeedLaravelSite