needlaravelsite/tikapi-php

TikAPI SDK for plain PHP and Laravel โ€” created by NeedLaravelSite

Maintainers

Package info

github.com/needlaravelsite/tikapi-php

pkg:composer/needlaravelsite/tikapi-php

Statistics

Installs: 313

Dependents: 0

Suggesters: 0

Stars: 17

Open Issues: 0

v1.0.1 2025-11-04 17:32 UTC

This package is auto-updated.

Last update: 2026-04-04 18:35:58 UTC


README

TikAPI SDK for plain PHP and Laravel, created and maintained by NeedLaravelSite.

๐Ÿš€ Overview

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

๐Ÿงฐ Installation

composer require needlaravelsite/tikapi-php

Requires PHP 8.0+

โš™๏ธ Laravel Setup

1. Publish Configuration

php artisan vendor:publish --provider="NeedLaravelSite\\TikApi\\TikApiServiceProvider" --tag=config

2. Add Environment Variables

TIKAPI_API_KEY=your_api_key_here
TIKAPI_ACCOUNT_KEY=your_account_key_if_any
TIKAPI_BASE_URL=https://api.tikapi.io

If any of these values are missing, the SDK safely defaults to environment values or fallback URLs.

๐Ÿงฑ Project Structure

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

๐Ÿงฉ Usage Examples

โœ… In Laravel (via Facade or DI)

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');
    }
}

โœ… In Plain PHP

<?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');

๐Ÿ” Available Endpoints

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

๐Ÿง  Example API Calls

$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');

๐Ÿงช Testing

Run All Tests

vendor/bin/phpunit

Run Specific Test File

vendor/bin/phpunit tests/Feature/Public/SearchIntegrationTest.php

Run Specific Method

vendor/bin/phpunit --filter testPublicSearchGeneralReturnsSuccess

Integration tests require a valid TIKAPI_API_KEY in your .env file.

๐Ÿงฐ Error Handling

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();
}

๐Ÿค Contributing

Contributions are welcome under the NeedLaravelSite organization.

Guidelines

  • Follow PSR-12 coding standards
  • Add or update feature tests for new endpoints
  • Update README when adding new functionality

๐Ÿ“œ License

MIT License ยฉ 2025
Built by Muhammad Waqas at NeedLaravelSite