Skip to main content

Karotter scraper/API wrapper for python with no official API key required.

Project description

karokit

karokit is an unofficial Python client/scraper for karotter.com, with twikit-style compatibility methods.

Repository: appipinopi/karokit

Features

  • Login/session support (access token, refresh token, CSRF, cookie export/import)
  • Read APIs: timeline, post detail, search, trends, users, notifications, DMs
  • Write APIs: create post, like, rekarot, bookmark, react, vote, follow, block, mute
  • Extended action APIs: quotes/likes list, analytics, grouped notifications, follow requests
  • Realtime support via Socket.IO (notification, dd.newMessage)
  • Twikit-style aliases (create_tweet, favorite_tweet, retweet, search_tweet)
  • Paid-plan readiness (set_paid_plan, payment_retry_hook)

Install

pip install karokit

Development install from source:

pip install -r requirements.txt
pip install -e .

Quick Example

import asyncio
from karokit import Client


async def main() -> None:
    client = Client(locale="ja-JP")
    await client.login(identifier="YOUR_ID_OR_EMAIL", password="YOUR_PASSWORD")

    await client.create_karot("Hello from karokit")
    await client.like_post(12345)
    await client.follow_user(67890)

    data = await client.get_timeline(page=1, mode="following")
    print(data)
    await client.close()


asyncio.run(main())

Realtime Example (Socket.IO)

import asyncio
from karokit import Client, StreamingClient


async def main() -> None:
    client = Client()
    await client.login(identifier="YOUR_ID_OR_EMAIL", password="YOUR_PASSWORD")

    stream = StreamingClient(client)
    async for notif in stream.realtime_notifications():
        print("notification:", notif)


asyncio.run(main())

Key Methods

  • Post: create_post, update_post, delete_post, record_post_views
  • Engagement: like_post, rekarot_post, bookmark_post, react_to_post, vote_post_poll
  • Follow: follow_user, unfollow_user, remove_follower, accept_follow_request
  • Notifications: get_notifications, get_grouped_post_notifications, get_unread_notification_count
  • DM: get_dm_groups, get_dm_messages, send_dm_message, send_dm
  • Realtime: StreamingClient.realtime_notifications, StreamingClient.realtime_dm_messages

Paid Plan Readiness

If Karotter introduces paid plans, configure extra entitlement headers:

client.set_paid_plan(
    "pro",
    entitlement_token="YOUR_TOKEN",
    extra_headers={"x-your-plan-header": "value"},
)
  • 402 raises PaidPlanRequiredError
  • client.payment_retry_hook can retry after entitlements are refreshed

Safety Notes

  • This project does not implement illegal bypass/fraud behavior.
  • Use rate limits, normal browser-identical headers, and valid authentication only.
  • Follow Karotter terms and applicable laws.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

karokit-0.1.1.tar.gz (18.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

karokit-0.1.1-py3-none-any.whl (23.2 kB view details)

Uploaded Python 3

File details

Details for the file karokit-0.1.1.tar.gz.

File metadata

  • Download URL: karokit-0.1.1.tar.gz
  • Upload date:
  • Size: 18.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for karokit-0.1.1.tar.gz
Algorithm Hash digest
SHA256 48cb93d336f010bbfccb59f649a307a7b3e49ccfb093f0d76c4e81bee720da1d
MD5 869110f17ef89f693b253e7c7c0e0e0c
BLAKE2b-256 afcdb0c88c131aa9267d5dc2923fc2b8a12bac70e01483b6889820d82dfad21f

See more details on using hashes here.

Provenance

The following attestation bundles were made for karokit-0.1.1.tar.gz:

Publisher: python-publish.yml on appipinopi/karokit

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file karokit-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: karokit-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 23.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for karokit-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 ab98aa8cb5513df17fdc7259caf1849d4ebf2438a00520ce2887090892be3749
MD5 48edb6f7a543e1eb2b109d865268bbfd
BLAKE2b-256 082f4ce806862a8d8381a04764cf5018f83f029b603ff1efeec8a4ba4e6312c1

See more details on using hashes here.

Provenance

The following attestation bundles were made for karokit-0.1.1-py3-none-any.whl:

Publisher: python-publish.yml on appipinopi/karokit

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page