{"id":19009316,"url":"https://github.com/textkernel/tx-java","last_synced_at":"2026-02-24T09:33:11.143Z","repository":{"id":38056342,"uuid":"317038711","full_name":"textkernel/tx-java","owner":"textkernel","description":"The official Java SDK for the Textkernel Tx v10 API. Includes a resume parser (CV parser), job parser, resume search engine, and resume matching engine.","archived":false,"fork":false,"pushed_at":"2025-07-29T22:19:10.000Z","size":12540,"stargazers_count":13,"open_issues_count":0,"forks_count":5,"subscribers_count":3,"default_branch":"master","last_synced_at":"2026-01-14T04:39:25.388Z","etag":null,"topics":["cv","cv-parser","cv-parsing","java","job","job-parser","job-parsing","matching","parse-resume","parser","parsing","resume","resume-parser","resume-parsing","sdk","searching","textkernel","tx"],"latest_commit_sha":null,"homepage":"https://developer.textkernel.com/tx-platform","language":"Java","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/textkernel.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2020-11-29T20:38:37.000Z","updated_at":"2025-07-30T02:14:05.000Z","dependencies_parsed_at":"2023-01-29T22:46:04.533Z","dependency_job_id":"54a8a01c-89f5-47e6-b183-2a68e21e42f0","html_url":"https://github.com/textkernel/tx-java","commit_stats":null,"previous_names":["textkernel/tx-java","sovren/sovren-java"],"tags_count":35,"template":false,"template_full_name":null,"purl":"pkg:github/textkernel/tx-java","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/textkernel%2Ftx-java","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/textkernel%2Ftx-java/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/textkernel%2Ftx-java/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/textkernel%2Ftx-java/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/textkernel","download_url":"https://codeload.github.com/textkernel/tx-java/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/textkernel%2Ftx-java/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29777888,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-24T04:54:30.205Z","status":"ssl_error","status_checked_at":"2026-02-24T04:53:58.628Z","response_time":75,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":["cv","cv-parser","cv-parsing","java","job","job-parser","job-parsing","matching","parse-resume","parser","parsing","resume","resume-parser","resume-parsing","sdk","searching","textkernel","tx"],"created_at":"2024-11-08T19:07:23.610Z","updated_at":"2026-02-24T09:33:11.126Z","avatar_url":"https://github.com/textkernel.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# tx-java\n![GitHub](https://img.shields.io/github/license/textkernel/tx-java?color=0575aa)\n![Maven Central](https://img.shields.io/maven-central/v/com.textkernel/tx-java?color=0575aa)\n[![build](https://github.com/textkernel/tx-java/actions/workflows/build.yml/badge.svg)](https://github.com/textkernel/tx-java/actions/workflows/build.yml)\n\nThe official Java SDK for the Textkernel Tx v10 API for resume/CV and job parsing, searching, and matching. Supports Java 1.8+.\n\n## Installation\n\n### Requirements\n- Java 1.8 or later\n\n### Gradle Users\nAdd this dependency to your project's build file:\n```\nimplementation \"com.textkernel:tx-java:2.3.3\"\n```\n\n### Maven Users\nAdd this dependency to your project's POM:\n```xml\n\u003cdependency\u003e\n  \u003cgroupId\u003ecom.textkernel\u003c/groupId\u003e\n  \u003cartifactId\u003etx-java\u003c/artifactId\u003e\n  \u003cversion\u003e2.3.3\u003c/version\u003e\n\u003c/dependency\u003e\n```\n\n### Others\nYou'll need to manually install the following JARs:\n- The Textkernel Tx JAR from https://repo1.maven.org/maven2/com/textkernel/tx-java/2.3.3/tx-java-2.3.3.jar\n- [Google Gson][gson_url] from https://repo1.maven.org/maven2/com/google/code/gson/gson/2.9.0/gson-2.9.0.jar\n- [Square OkHttp][okhttp_url] from https://repo1.maven.org/maven2/com/squareup/okhttp3/okhttp/4.12.0/okhttp-4.12.0.jar\n\n\n## Documentation\nFor the full API documentation, information about best practices, FAQs, etc. check out our [docs site][api-docs].\n\nYou can also refer to the [online Javadoc][javadoc_url]\n\n## Examples\nFor full code examples, see [here][examples].\n\n## Usage\n\n### Creating a `TxClient`\nThis is the object that you will use to perform API calls. You create it with your account credentials and the `TxClient` makes the raw API calls for you. These credentials can be found in the [Tx Console][portal]. Be sure to select the correct `DataCenter` for your account.\n```java\nTxClient client = new TxClient(\"12345678\", \"abcdefghijklmnopqrstuvwxyz\", DataCenter.US);\n```\n\nFor self-hosted customers, you can create a `DataCenter` object with your custom URL using the constructor provided on that class.\n\n### Handling errors and the `TxException`\nEvery call to any of the methods in the `TxClient` should be wrapped in a `try/catch` block. Any 4xx/5xx level errors will cause a `TxException` to be thrown. Sometimes these are a normal and expected part of the Tx API. For example, if you have a website where users upload resumes, sometimes a user will upload a scanned image as their resume. Textkernel does not process these, and will return a `422 Unprocessable Entity` response which will throw a `TxException`. You should handle any `TxException` in a way that makes sense in your application.\n\nAdditionally, there are `TxUsableResumeException` and `TxUsableJobException` which are thrown when some error/issue occurs in the API, but the response still contains a usable resume/job. For example, if you are geocoding while parsing and there is a geocoding error (which happens after parsing is done), the `ParsedResume` might still be usable in your application.\n\n### How to create a Matching UI session\nYou may be wondering, \"where are the Matching UI endpoints/methods?\". We have made the difference between a normal API call (such as `Search`) and its equivalent Matching UI call extremely trivial. See the following example: \n\n```java\nTxClient client = new TxClient(\"12345678\", \"abcdefghijklmnopqrstuvwxyz\", DataCenter.US);\nList\u003cString\u003e indexesToSearch = ...;\nFilterCriteria searchQuery = ...;\n\nSearchResponse searchResponse = client.search(indexesToSearch, searchQuery, null, null);\n```\nTo generate a Matching UI session with the above Search query, you simply need to call the `ui(...)` method on the `TxClient` object, pass in any UI settings, and then make the same call as above:\n```java\nMatchUISettings uiSettings = ...;\nGenerateUIResponse uiResponse = client.ui(uiSettings).search(indexesToSearch, searchQuery, null, null);\n```\nFor every relevant method in the `TxClient`, you can create a Matching UI session for that query by doing the same as above.\n\n[javadoc_url]: https://textkernel.github.io/tx-java/\n[gson_url]: https://github.com/google/gson\n[okhttp_url]: https://github.com/square/okhttp\n[examples]: https://github.com/textkernel/tx-java/tree/master/examples\n[portal]: https://cloud.textkernel.com/tx/console\n[api-docs]: https://developer.textkernel.com/tx-platform/v10/overview/","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftextkernel%2Ftx-java","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftextkernel%2Ftx-java","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftextkernel%2Ftx-java/lists"}