Polyscope - The agent-first dev environment for Laravel

Tikapi Php

Tikapi Php stats

Downloads
3
Stars
1
Open Issues
0
Forks
0

View on GitHub →

TikAPI SDK for plain PHP and Laravel — created by NeedLaravelSite

needlaravelsite/tikapi-php

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

needlaravelsite photo

Building Laravel-powered solutions, tutorials, and tools — and available for hire to bring your next project to life.

Cube

Laravel Newsletter

Join 40k+ other developers and never miss out on new tips, tutorials, and more.


Needlaravelsite Tikapi Php Related Articles

TikAPI SDK is PHP and Laravel Package for the TikAPI image

TikAPI SDK is PHP and Laravel Package for the TikAPI

Read article
Tighten logo

Tighten

We help companies turn great ideas into amazing apps, products, and services.

Tighten
The Certification of Competence for Laravel logo

The Certification of Competence for Laravel

A community-driven, proctored assessment across 4 levels designed to validate real-world Laravel knowledge, from Junior to mastery-level Artisan. Official Vue.js, Official Nuxt, Angular, React, JS certifications also available.

The Certification of Competence for Laravel
Securing Laravel logo

Securing Laravel

The essential security resource for Laravel devs, covering everything you need to keep your apps secure. Sign up to receive weekly security tips and monthly in depth articles, diving deep into security concepts you need to know!

Securing Laravel
Statamic logo

Statamic

The drop-in ready Laravel CMS you’re been waiting for. Go full-stack or headless, flat file or database – it’s up to you.

Statamic
LoadForge logo

LoadForge

Scalable load testing for web apps & APIs. Simulate real-world traffic and identify breaking points and performance limits with powerful, scalable load tests designed for Laravel.

LoadForge
Blastup logo

Blastup

Blastup provides social media enhancement services including buying Instagram likes, followers, and views, with features like instant delivery and a variety of packages to suit different needs.

Blastup