Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .release-please-manifest.json
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
{
".": "0.3.0"
".": "0.4.0"
}
8 changes: 4 additions & 4 deletions .stats.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
configured_endpoints: 117
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/xquik%2Fx-twitter-scraper-d40c57a05527faf060d21c0e013729f371d88017b10680cea7c8fd6780ffaef5.yml
openapi_spec_hash: 597ebc460cf86740b9f6f7c95478dece
config_hash: 30ce23c9cfbf8fb8be9e5dd28a2124fa
configured_endpoints: 110
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/xquik%2Fx-twitter-scraper-2adc33156b4b42a4be18cc20c0205b38f0432d7958da99c65ee9b3f6a555ea0e.yml
openapi_spec_hash: be760f5620a268521d6793f65576a61f
config_hash: 320a9cb2f1293d1a7b73c63ab5865af5
27 changes: 27 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,32 @@
# Changelog

## 0.4.0 (2026-04-25)

Full Changelog: [v0.3.0...v0.4.0](https://github.com/Xquik-dev/x-twitter-scraper-java/compare/v0.3.0...v0.4.0)

### Features

* **api:** api update ([30c1879](https://github.com/Xquik-dev/x-twitter-scraper-java/commit/30c1879055bd1a7fb925a8dc674fbbd932c29f9f))
* **api:** api update ([5e2cc73](https://github.com/Xquik-dev/x-twitter-scraper-java/commit/5e2cc73283addfe9ac177efb47623c0f51dedf8e))
* **api:** api update ([6022295](https://github.com/Xquik-dev/x-twitter-scraper-java/commit/6022295c6a25bd0b0797c85ae96304cc3eeb2103))
* **api:** api update ([d4c753a](https://github.com/Xquik-dev/x-twitter-scraper-java/commit/d4c753ab0a9ee134dc567e576dac2892407e7e29))


### Bug Fixes

* escape ampersand in OpenAPI summaries for C# XML docs ([fb78c9a](https://github.com/Xquik-dev/x-twitter-scraper-java/commit/fb78c9aea1252be7535e3b5efcc5f916805831d4))


### Chores

* sync OpenAPI spec ([c225ad8](https://github.com/Xquik-dev/x-twitter-scraper-java/commit/c225ad8eb377c71093ce3f9b5292257ce191ed3a))
* wire production_repo for all targets ([1a3de89](https://github.com/Xquik-dev/x-twitter-scraper-java/commit/1a3de8994dc023e9602bc359a0f5067f03082e9a))


### Documentation

* add Contributor Covenant 2.1 Code of Conduct ([#2192](https://github.com/Xquik-dev/x-twitter-scraper-java/issues/2192)) ([afb97b0](https://github.com/Xquik-dev/x-twitter-scraper-java/commit/afb97b0d326a8ff3602f871cd12daa63c7a3d847))

## 0.3.0 (2026-04-08)

Full Changelog: [v0.2.0...v0.3.0](https://github.com/Xquik-dev/x-twitter-scraper-java/compare/v0.2.0...v0.3.0)
Expand Down
26 changes: 5 additions & 21 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,8 @@

<!-- x-release-please-start-version -->

[![Maven Central](https://img.shields.io/maven-central/v/com.x_twitter_scraper.api/x-twitter-scraper-java)](https://central.sonatype.com/artifact/com.x_twitter_scraper.api/x-twitter-scraper-java/0.3.0)
[![javadoc](https://javadoc.io/badge2/com.x_twitter_scraper.api/x-twitter-scraper-java/0.3.0/javadoc.svg)](https://javadoc.io/doc/com.x_twitter_scraper.api/x-twitter-scraper-java/0.3.0)
[![Maven Central](https://img.shields.io/maven-central/v/com.x_twitter_scraper.api/x-twitter-scraper-java)](https://central.sonatype.com/artifact/com.x_twitter_scraper.api/x-twitter-scraper-java/0.4.0)
[![javadoc](https://javadoc.io/badge2/com.x_twitter_scraper.api/x-twitter-scraper-java/0.4.0/javadoc.svg)](https://javadoc.io/doc/com.x_twitter_scraper.api/x-twitter-scraper-java/0.4.0)

<!-- x-release-please-end -->

Expand All @@ -15,7 +15,7 @@ It is generated with [Stainless](https://www.stainless.com/).

<!-- x-release-please-start-version -->

The REST API documentation can be found on [xquik.com](https://xquik.com). Javadocs are available on [javadoc.io](https://javadoc.io/doc/com.x_twitter_scraper.api/x-twitter-scraper-java/0.3.0).
The REST API documentation can be found on [xquik.com](https://xquik.com). Javadocs are available on [javadoc.io](https://javadoc.io/doc/com.x_twitter_scraper.api/x-twitter-scraper-java/0.4.0).

<!-- x-release-please-end -->

Expand All @@ -26,7 +26,7 @@ The REST API documentation can be found on [xquik.com](https://xquik.com). Javad
### Gradle

```kotlin
implementation("com.x_twitter_scraper.api:x-twitter-scraper-java:0.3.0")
implementation("com.x_twitter_scraper.api:x-twitter-scraper-java:0.4.0")
```

### Maven
Expand All @@ -35,7 +35,7 @@ implementation("com.x_twitter_scraper.api:x-twitter-scraper-java:0.3.0")
<dependency>
<groupId>com.x_twitter_scraper.api</groupId>
<artifactId>x-twitter-scraper-java</artifactId>
<version>0.3.0</version>
<version>0.4.0</version>
</dependency>
```

Expand Down Expand Up @@ -85,7 +85,6 @@ import com.x_twitter_scraper.api.client.okhttp.XTwitterScraperOkHttpClient;

XTwitterScraperClient client = XTwitterScraperOkHttpClient.builder()
.apiKey("My API Key")
.bearerToken("My Bearer Token")
.build();
```

Expand Down Expand Up @@ -564,21 +563,6 @@ TweetSearchParams params = TweetSearchParams.builder()

These can be accessed on the built object later using the `_additionalHeaders()`, `_additionalQueryParams()`, and `_additionalBodyProperties()` methods.

To set undocumented parameters on _nested_ headers, query params, or body classes, call the `putAdditionalProperty` method on the nested class:

```java
import com.x_twitter_scraper.api.core.JsonValue;
import com.x_twitter_scraper.api.models.integrations.IntegrationCreateParams;

IntegrationCreateParams params = IntegrationCreateParams.builder()
.config(IntegrationCreateParams.Config.builder()
.putAdditionalProperty("secretProperty", JsonValue.from("42"))
.build())
.build();
```

These properties can be accessed on the nested built object later using the `_additionalProperties()` method.

To set a documented parameter or property to an undocumented or not yet supported _value_, pass a [`JsonValue`](x-twitter-scraper-java-core/src/main/kotlin/com/x_twitter_scraper/api/core/Values.kt) object to its setter:

```java
Expand Down
2 changes: 1 addition & 1 deletion build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ repositories {

allprojects {
group = "com.x_twitter_scraper.api"
version = "0.3.0" // x-release-please-version
version = "0.4.0" // x-release-please-version
}

subprojects {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ configure<MavenPublishBaseExtension> {

pom {
name.set("Xquik API")
description.set("Xquik is an all-in-one X (Twitter) automation API with 40+ endpoints for\nreading, writing, and monitoring X data. **Read endpoints** let you look up\ntweets, search tweets, fetch user profiles, list followers & following, browse\ntimelines, bookmarks, notifications, communities, lists, trending topics, and\ndownload media. **Write endpoints** let you post tweets, reply, like, unlike,\nretweet, unretweet, follow, unfollow, send DMs, upload media, update profiles,\nand manage communities. **Automation endpoints** power bulk data extractions (20\ntool types), giveaway draws from tweet replies, real-time account monitoring\nwith webhooks & Telegram integrations, tweet composition with AI, and writing\nstyle analysis. Authenticate with an API key or OAuth 2.1 bearer token.\nPay-per-use endpoints are also available without an account.")
description.set("Look up any tweet, user, or trend on X. Search tweets, check follower\nrelationships, download media, and monitor accounts in real time. 32 pay-per-use\nread endpoints work without a subscription — just pay per call. Write endpoints\n(post, like, retweet, follow, DM) and automation endpoints (bulk extractions,\ngiveaway draws, monitors, webhooks) require an API key or OAuth 2.1 bearer\ntoken.")
url.set("https://xquik.com")

licenses {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,14 +5,12 @@ package com.x_twitter_scraper.api.client
import com.x_twitter_scraper.api.core.ClientOptions
import com.x_twitter_scraper.api.services.blocking.AccountService
import com.x_twitter_scraper.api.services.blocking.ApiKeyService
import com.x_twitter_scraper.api.services.blocking.BotService
import com.x_twitter_scraper.api.services.blocking.ComposeService
import com.x_twitter_scraper.api.services.blocking.CreditService
import com.x_twitter_scraper.api.services.blocking.DraftService
import com.x_twitter_scraper.api.services.blocking.DrawService
import com.x_twitter_scraper.api.services.blocking.EventService
import com.x_twitter_scraper.api.services.blocking.ExtractionService
import com.x_twitter_scraper.api.services.blocking.IntegrationService
import com.x_twitter_scraper.api.services.blocking.MonitorService
import com.x_twitter_scraper.api.services.blocking.RadarService
import com.x_twitter_scraper.api.services.blocking.StyleService
Expand Down Expand Up @@ -59,25 +57,25 @@ interface XTwitterScraperClient {
*/
fun withOptions(modifier: Consumer<ClientOptions.Builder>): XTwitterScraperClient

/** Account info & settings */
/** Account info and settings */
fun account(): AccountService

/** API key management (session auth only) */
fun apiKeys(): ApiKeyService

/** Subscription & billing */
/** Subscription, billing, and credits */
fun subscribe(): SubscribeService

/** Tweet composition, drafts, writing styles & radar */
/** AI tweet composition, drafts, writing styles, and radar */
fun compose(): ComposeService

/** Tweet composition, drafts, writing styles & radar */
/** AI tweet composition, drafts, writing styles, and radar */
fun drafts(): DraftService

/** Tweet composition, drafts, writing styles & radar */
/** AI tweet composition, drafts, writing styles, and radar */
fun styles(): StyleService

/** Tweet composition, drafts, writing styles & radar */
/** AI tweet composition, drafts, writing styles, and radar */
fun radar(): RadarService

/** Real-time X account monitoring */
Expand All @@ -92,23 +90,17 @@ interface XTwitterScraperClient {
/** Giveaway draws from tweet replies */
fun draws(): DrawService

/** Webhook endpoint management & delivery */
/** Webhook endpoint management and delivery */
fun webhooks(): WebhookService

/** Push notification integrations (Telegram) */
fun integrations(): IntegrationService

/** X data lookups (subscription required) */
fun x(): XService

/** Trending topics by region */
/** Trending topics and hashtags by region */
fun trends(): TrendService

fun bot(): BotService

fun support(): SupportService

/** Subscription & billing */
/** Subscription, billing, and credits */
fun credits(): CreditService

/**
Expand Down Expand Up @@ -138,25 +130,25 @@ interface XTwitterScraperClient {
modifier: Consumer<ClientOptions.Builder>
): XTwitterScraperClient.WithRawResponse

/** Account info & settings */
/** Account info and settings */
fun account(): AccountService.WithRawResponse

/** API key management (session auth only) */
fun apiKeys(): ApiKeyService.WithRawResponse

/** Subscription & billing */
/** Subscription, billing, and credits */
fun subscribe(): SubscribeService.WithRawResponse

/** Tweet composition, drafts, writing styles & radar */
/** AI tweet composition, drafts, writing styles, and radar */
fun compose(): ComposeService.WithRawResponse

/** Tweet composition, drafts, writing styles & radar */
/** AI tweet composition, drafts, writing styles, and radar */
fun drafts(): DraftService.WithRawResponse

/** Tweet composition, drafts, writing styles & radar */
/** AI tweet composition, drafts, writing styles, and radar */
fun styles(): StyleService.WithRawResponse

/** Tweet composition, drafts, writing styles & radar */
/** AI tweet composition, drafts, writing styles, and radar */
fun radar(): RadarService.WithRawResponse

/** Real-time X account monitoring */
Expand All @@ -171,23 +163,17 @@ interface XTwitterScraperClient {
/** Giveaway draws from tweet replies */
fun draws(): DrawService.WithRawResponse

/** Webhook endpoint management & delivery */
/** Webhook endpoint management and delivery */
fun webhooks(): WebhookService.WithRawResponse

/** Push notification integrations (Telegram) */
fun integrations(): IntegrationService.WithRawResponse

/** X data lookups (subscription required) */
fun x(): XService.WithRawResponse

/** Trending topics by region */
/** Trending topics and hashtags by region */
fun trends(): TrendService.WithRawResponse

fun bot(): BotService.WithRawResponse

fun support(): SupportService.WithRawResponse

/** Subscription & billing */
/** Subscription, billing, and credits */
fun credits(): CreditService.WithRawResponse
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -5,14 +5,12 @@ package com.x_twitter_scraper.api.client
import com.x_twitter_scraper.api.core.ClientOptions
import com.x_twitter_scraper.api.services.async.AccountServiceAsync
import com.x_twitter_scraper.api.services.async.ApiKeyServiceAsync
import com.x_twitter_scraper.api.services.async.BotServiceAsync
import com.x_twitter_scraper.api.services.async.ComposeServiceAsync
import com.x_twitter_scraper.api.services.async.CreditServiceAsync
import com.x_twitter_scraper.api.services.async.DraftServiceAsync
import com.x_twitter_scraper.api.services.async.DrawServiceAsync
import com.x_twitter_scraper.api.services.async.EventServiceAsync
import com.x_twitter_scraper.api.services.async.ExtractionServiceAsync
import com.x_twitter_scraper.api.services.async.IntegrationServiceAsync
import com.x_twitter_scraper.api.services.async.MonitorServiceAsync
import com.x_twitter_scraper.api.services.async.RadarServiceAsync
import com.x_twitter_scraper.api.services.async.StyleServiceAsync
Expand Down Expand Up @@ -59,25 +57,25 @@ interface XTwitterScraperClientAsync {
*/
fun withOptions(modifier: Consumer<ClientOptions.Builder>): XTwitterScraperClientAsync

/** Account info & settings */
/** Account info and settings */
fun account(): AccountServiceAsync

/** API key management (session auth only) */
fun apiKeys(): ApiKeyServiceAsync

/** Subscription & billing */
/** Subscription, billing, and credits */
fun subscribe(): SubscribeServiceAsync

/** Tweet composition, drafts, writing styles & radar */
/** AI tweet composition, drafts, writing styles, and radar */
fun compose(): ComposeServiceAsync

/** Tweet composition, drafts, writing styles & radar */
/** AI tweet composition, drafts, writing styles, and radar */
fun drafts(): DraftServiceAsync

/** Tweet composition, drafts, writing styles & radar */
/** AI tweet composition, drafts, writing styles, and radar */
fun styles(): StyleServiceAsync

/** Tweet composition, drafts, writing styles & radar */
/** AI tweet composition, drafts, writing styles, and radar */
fun radar(): RadarServiceAsync

/** Real-time X account monitoring */
Expand All @@ -92,23 +90,17 @@ interface XTwitterScraperClientAsync {
/** Giveaway draws from tweet replies */
fun draws(): DrawServiceAsync

/** Webhook endpoint management & delivery */
/** Webhook endpoint management and delivery */
fun webhooks(): WebhookServiceAsync

/** Push notification integrations (Telegram) */
fun integrations(): IntegrationServiceAsync

/** X data lookups (subscription required) */
fun x(): XServiceAsync

/** Trending topics by region */
/** Trending topics and hashtags by region */
fun trends(): TrendServiceAsync

fun bot(): BotServiceAsync

fun support(): SupportServiceAsync

/** Subscription & billing */
/** Subscription, billing, and credits */
fun credits(): CreditServiceAsync

/**
Expand Down Expand Up @@ -139,25 +131,25 @@ interface XTwitterScraperClientAsync {
modifier: Consumer<ClientOptions.Builder>
): XTwitterScraperClientAsync.WithRawResponse

/** Account info & settings */
/** Account info and settings */
fun account(): AccountServiceAsync.WithRawResponse

/** API key management (session auth only) */
fun apiKeys(): ApiKeyServiceAsync.WithRawResponse

/** Subscription & billing */
/** Subscription, billing, and credits */
fun subscribe(): SubscribeServiceAsync.WithRawResponse

/** Tweet composition, drafts, writing styles & radar */
/** AI tweet composition, drafts, writing styles, and radar */
fun compose(): ComposeServiceAsync.WithRawResponse

/** Tweet composition, drafts, writing styles & radar */
/** AI tweet composition, drafts, writing styles, and radar */
fun drafts(): DraftServiceAsync.WithRawResponse

/** Tweet composition, drafts, writing styles & radar */
/** AI tweet composition, drafts, writing styles, and radar */
fun styles(): StyleServiceAsync.WithRawResponse

/** Tweet composition, drafts, writing styles & radar */
/** AI tweet composition, drafts, writing styles, and radar */
fun radar(): RadarServiceAsync.WithRawResponse

/** Real-time X account monitoring */
Expand All @@ -172,23 +164,17 @@ interface XTwitterScraperClientAsync {
/** Giveaway draws from tweet replies */
fun draws(): DrawServiceAsync.WithRawResponse

/** Webhook endpoint management & delivery */
/** Webhook endpoint management and delivery */
fun webhooks(): WebhookServiceAsync.WithRawResponse

/** Push notification integrations (Telegram) */
fun integrations(): IntegrationServiceAsync.WithRawResponse

/** X data lookups (subscription required) */
fun x(): XServiceAsync.WithRawResponse

/** Trending topics by region */
/** Trending topics and hashtags by region */
fun trends(): TrendServiceAsync.WithRawResponse

fun bot(): BotServiceAsync.WithRawResponse

fun support(): SupportServiceAsync.WithRawResponse

/** Subscription & billing */
/** Subscription, billing, and credits */
fun credits(): CreditServiceAsync.WithRawResponse
}
}
Loading
Loading