Sign request
Native signature headers for a mobile request you are about to send, in 0.25 ms at p50 and 0.93 ms at p99. Pick the client with os, app_flavour and app_version.
Upstream
local · native request signer (<1 ms)Every planParameters
| Name | Type | Description |
|---|---|---|
os | string | android or ios. e.g. android |
app_flavour | string | Which app to run as. e.g. tiktok |
app_version | string | A release of that app. Defaults to the current default for (os, app_flavour). e.g. 47.6.3 |
methodrequired | string | The HTTP method of your request. e.g. GET |
urlrequired | string | The full request URL, with its query. e.g. https://api16-normal-c-useast1a.tiktokv.com/aweme/v1/feed/?aid=1233&count=6 |
headers | object | Headers you will send. |
body | string | The body you will send, if any. |
device_id | string | Sign as one of your provisioned devices. |
Pricing
| Plan | Per call | Per 1,000 calls |
|---|---|---|
| Starter | 2 credits | $0.23 |
| Growth | 2 credits | $0.16 |
| Scale | 2 credits | $0.12 |
Responses
A 200 returns JSON with stable field names. Every response carries x-credits-cost, x-credits-tier and x-credits-remaining. Errors return a JSON body with a stable code and cost 0 credits. Error codes
curl -X POST https://api.tikultra.com/v1/crypto/sign \
-H "x-api-key: $TIKULTRA_KEY" \
-H "content-type: application/json" \
-d '{"os":"android","app_flavour":"tiktok","app_version":"47.6.3","method":"GET","url":"https://api16-normal-c-useast1a.tiktokv.com/aweme/v1/feed/?aid=1233&count=6"}'{
"headers": {
"x-argus": "2PxBqzvQe0d+5SWvx45cr+LKRhQN3D0elZBF6hFDcKtTYsKtysoEdsp1TMLEi73Q5TIgcpXxDSuR9L22KPpbm0N8XEGsOXStCg4S",
"x-gorgon": "8404701B00006D2BAB9391444846DFBE6320BCC64DE2A5417306",
"x-khronos": "1762900000",
"x-ladon": "7Rn17g/L4D32jfFAmX5C3KRcWg424sPaP/v+QtSRHAolomQI",
"x-ss-req-ticket": "1762900000412"
},
"client": {
"os": "android",
"app_flavour": "tiktok",
"app_version": "47.6.3",
"aid": 1233
},
"took_ms": 0.24
}More in Devices, signing & primitives
GET/v1/resolveResolve2 crPOST/v1/resolveResolve (POST)2 crGET/v1/tools/id-converterID converter2 crPOST/v1/tools/protobuf-decodeProtobuf decode2 crPOST/v1/jobs/submitSubmit batch jobper taskGET/v1/jobs/{id}Get jobFreeGET/v1/devicesList devicesFreePOST/v1/devices/provisionProvision device10 crGET/v1/devices/templatesHardware templatesFreeGET/v1/apps/versionsApp versionsFreeGET/v1/devices/{id}Get deviceFreePOST/v1/devices/{id}/bootstrapBootstrap device10 crPOST/v1/devices/{id}/reportDevice security report10 crPOST/v1/crypto/x-cylonsX-Cylons token2 crPOST/v1/crypto/x-argus/decryptX-Argus decrypt2 crPOST/v1/crypto/x-ladon/decryptX-Ladon decrypt2 crPOST/v1/crypto/x-gorgon/decryptX-Gorgon decrypt2 crPOST/v1/crypto/ttencrypt/encryptTTEncrypt encode2 crPOST/v1/crypto/ttencrypt/decryptTTEncrypt decode2 crPOST/v1/crypto/zstd/compresszstd compress2 crPOST/v1/crypto/zstd/decompresszstd decompress2 crPOST/v1/crypto/passport-hashPassport identifier hash2 cr
Ready to build?
Start with 2,500 free credits and test every public endpoint, then pick a plan.