{"id":13852865,"url":"https://github.com/ChrisKruegerDev/trakt-kotlin","last_synced_at":"2025-07-13T09:31:23.753Z","repository":{"id":57714915,"uuid":"410270468","full_name":"ChrisKruegerDev/trakt-kotlin","owner":"ChrisKruegerDev","description":"📺 Modern powerful Trakt API to track, discover and share your movies \u0026 TV shows.","archived":false,"fork":false,"pushed_at":"2024-11-18T19:00:44.000Z","size":416,"stargazers_count":45,"open_issues_count":0,"forks_count":4,"subscribers_count":0,"default_branch":"main","last_synced_at":"2024-11-18T19:18:11.084Z","etag":null,"topics":["android","java","kotlin","kotlin-js","kotlin-library","kotlin-multiplatform","kotlin-native","ktor","ktor-android","ktor-client","movies","movies-api","poster","shows","tmdb","trakt"],"latest_commit_sha":null,"homepage":"https://www.moviebase.app","language":"Kotlin","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ChrisKruegerDev.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-09-25T12:45:50.000Z","updated_at":"2024-11-18T19:00:47.000Z","dependencies_parsed_at":"2022-09-02T22:01:03.769Z","dependency_job_id":"e90b6641-26a6-4659-b720-d9325a65e63a","html_url":"https://github.com/ChrisKruegerDev/trakt-kotlin","commit_stats":null,"previous_names":["moviebaseapp/trakt-api","chriskruegerdev/trakt-kotlin"],"tags_count":17,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ChrisKruegerDev%2Ftrakt-kotlin","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ChrisKruegerDev%2Ftrakt-kotlin/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ChrisKruegerDev%2Ftrakt-kotlin/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ChrisKruegerDev%2Ftrakt-kotlin/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ChrisKruegerDev","download_url":"https://codeload.github.com/ChrisKruegerDev/trakt-kotlin/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":225868820,"owners_count":17537122,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["android","java","kotlin","kotlin-js","kotlin-library","kotlin-multiplatform","kotlin-native","ktor","ktor-android","ktor-client","movies","movies-api","poster","shows","tmdb","trakt"],"created_at":"2024-08-04T23:00:26.717Z","updated_at":"2024-11-22T08:30:47.791Z","avatar_url":"https://github.com/ChrisKruegerDev.png","language":"Kotlin","funding_links":[],"categories":["Libraries","Kotlin"],"sub_categories":[],"readme":"[Website](https://www.trakt.tv) |\n[Support](https://support.trakt.tv/support/home) |\n[Documentation](https://trakt.docs.apiary.io/)\n\n\u003ca href=\"https://www.trakt.tv\"\u003e\u003cimg alt=\"Trakt\" src=\"doc/images/trakt-wide-red-black.svg\" width=\"300\"\u003e\u003c/a\u003e\n\n***Track and discover your TV shows and movies with Trakt.***\n\n[![Maven Central](https://img.shields.io/maven-central/v/app.moviebase/trakt-api?label=Maven%20Central)](https://central.sonatype.com/artifact/app.moviebase/trakt-api/)\n![Github Actions](https://github.com/ChrisKruegerDev/trakt-kotlin/actions/workflows/build.yml/badge.svg)\n[![Issues](https://img.shields.io/github/issues/ChrisKruegerDev/trakt-kotlin)](https://github.com/ChrisKruegerDev/tmdb-api/issues)\n[![Kotlin](https://img.shields.io/badge/kotlin-2.0.21-blue.svg?logo=kotlin)](http://kotlinlang.org)\n[![Gradle](https://img.shields.io/badge/Gradle-8-green?style=flat)](https://gradle.org)\n[![GitHub License](https://img.shields.io/badge/license-Apache%20License%202.0-blue.svg?style=flat)](http://www.apache.org/licenses/LICENSE-2.0)\n[![GitHub Account](https://img.shields.io/static/v1?label=GitHub\u0026message=chrisnkrueger\u0026color=C51162)](https://github.com/ChrisKruegerDev)\n\n\u003chr\u003e\n\n# Trakt Kotlin\n\nTrakt Kotlin is a **Kotlin Multiplatform** library for tracking your series and movies.\n\n* Written in Kotlin native with ktor from the ground up.\n* Support for Android, iOS, desktop, and web applications.\n* High customizable HttpClient configuration\n\nSample projects:\n\n* [Moviebase](https://play.google.com/store/apps/details?id=com.moviebase)\n* [tivi](https://github.com/chrisbanes/tivi)\n\n## Setup\n\nThe library is available on Maven Central.\n\n### Gradle\n\nAdd the Maven Central repository if it is not already there.\n\n```kotlin\nrepositories {\n    mavenCentral()\n}\n```\n\nTo use the library in a single-platform project, add a dependency.\n\n```kotlin\ndependencies {\n    implementation(\"app.moviebase:trakt-api:0.7.0\")\n}\n```\n\nIn Kotlin Multiplatform projects, add the dependency to your commonMain source-set dependencies.\n\n```kotlin\ncommonMain {\n    dependencies {\n        implementation(\"app.moviebase:trakt-api:0.7.0\")\n    }\n}\n```\n\n## Usage\nMost of the library follows the possibilities and naming at the official [Trakt documentation](https://trakt.docs.apiary.io/).\n\n### Configuration\nBuild up your Trakt instance to access the APIs. You can configure the entire HttpClient of ktor.\n\n```kotlin\nval trakt = Trakt {\n    traktApiKey = \"clientId\"\n\n    expectSuccess = false // if you want to disable exceptions\n    useCache = true\n    useTimeout = true\n    maxRetriesOnException = 3 // retries when network calls throw an exception\n\n    // add your own client\n    httpClient(OkHttp) {\n        engine {\n\n        }\n    }\n\n    httpClient {\n        // for custom HttpClient configuration\n    }\n}\n```\n\n### Get information\nFor getting basic information about a shows or other media content.\n\n```kotlin\nval trakt = Trakt(\"clientId\")\nval traktShow = trakt.shows.getSummary(traktSlug = \"vikings\")\n```\n\n### Search\nSearch for TV shows by a query.\n\n```kotlin\nval trakt = Trakt(\"clientId\")\nval showPageResult = trakt.search.search(\n    searchType = TraktSearchType.TMDB,\n    id = \"63639\",\n    mediaType = TraktMediaType.SHOW\n)\n```\n\n## Contributing 🤝\nPlease feel free to [open an issue](https://github.com/ChrisKruegerDev/trakt-kotlin/issues/new/choose) if you have any questions or suggestions. Or participate in the [discussion](https://github.com/ChrisKruegerDev/trakt-kotlin/discussions). If you want to contribute, please read the [contribution guidelines](https://github.com/ChrisKruegerDev/trakt-api/blob/main/CONTRIBUTING.md) for more information.\n\n\u003cbr\u003e\n\n\u003chr\u003e\n\n*This library uses the Trakt but is not endorsed or certified by Trakt.*\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FChrisKruegerDev%2Ftrakt-kotlin","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FChrisKruegerDev%2Ftrakt-kotlin","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FChrisKruegerDev%2Ftrakt-kotlin/lists"}