Skip to content

Commit dd78f0d

Browse files
release: 0.3.0 (#4)
* feat(api): api update * feat(api): api update * codegen metadata * codegen metadata * feat(api): api update * feat(api): api update * feat(api): api update * feat(api): api update * feat(api): api update * feat(api): api update * codegen metadata * codegen metadata * codegen metadata * chore: update SDK settings * codegen metadata * codegen metadata * codegen metadata * codegen metadata * codegen metadata * codegen metadata * codegen metadata * codegen metadata * release: 0.3.0 --------- Co-authored-by: stainless-app[bot] <142633134+stainless-app[bot]@users.noreply.github.com>
1 parent ab6768a commit dd78f0d

446 files changed

Lines changed: 9466 additions & 42086 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.release-please-manifest.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
11
{
2-
".": "0.2.0"
2+
".": "0.3.0"
33
}

.stats.yml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
configured_endpoints: 115
2-
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/xquik%2Fx-twitter-scraper-3b2c6c771ad1da0bbfeb0af115972929ed2c7fcd5e47a79556d66cd21431b224.yml
3-
openapi_spec_hash: de2890233b68387bf5f9b6d19e7d87dc
4-
config_hash: 8894c96caeb6df84c9394518810221bd
1+
configured_endpoints: 117
2+
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/xquik%2Fx-twitter-scraper-d40c57a05527faf060d21c0e013729f371d88017b10680cea7c8fd6780ffaef5.yml
3+
openapi_spec_hash: 597ebc460cf86740b9f6f7c95478dece
4+
config_hash: 30ce23c9cfbf8fb8be9e5dd28a2124fa

CHANGELOG.md

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,25 @@
11
# Changelog
22

3+
## 0.3.0 (2026-04-08)
4+
5+
Full Changelog: [v0.2.0...v0.3.0](https://github.com/Xquik-dev/x-twitter-scraper-java/compare/v0.2.0...v0.3.0)
6+
7+
### Features
8+
9+
* **api:** api update ([c190c61](https://github.com/Xquik-dev/x-twitter-scraper-java/commit/c190c61c7ec6d8edd03874f8bcaac3ca9bce5fae))
10+
* **api:** api update ([d3ad9b3](https://github.com/Xquik-dev/x-twitter-scraper-java/commit/d3ad9b3b176efa1edd42d9500965287b714acef5))
11+
* **api:** api update ([91fe731](https://github.com/Xquik-dev/x-twitter-scraper-java/commit/91fe7314ce8e6e9db863a4bc4863333ffb94fc5c))
12+
* **api:** api update ([85f6788](https://github.com/Xquik-dev/x-twitter-scraper-java/commit/85f67881300bb5cdb912fe7c59edcd0af640a14f))
13+
* **api:** api update ([d4be9ff](https://github.com/Xquik-dev/x-twitter-scraper-java/commit/d4be9ff16190320b7cdaffae495057ee2ceda50c))
14+
* **api:** api update ([f8f5138](https://github.com/Xquik-dev/x-twitter-scraper-java/commit/f8f51380d7cb3d07a0be410e69492edf9fba07cc))
15+
* **api:** api update ([be5b4f9](https://github.com/Xquik-dev/x-twitter-scraper-java/commit/be5b4f9f89ea2e7606d57cb7f0ea809c17c4096f))
16+
* **api:** api update ([a4e0acd](https://github.com/Xquik-dev/x-twitter-scraper-java/commit/a4e0acdd9e95507a2d69d05b50c5b8c114c7cd0b))
17+
18+
19+
### Chores
20+
21+
* update SDK settings ([0a6a774](https://github.com/Xquik-dev/x-twitter-scraper-java/commit/0a6a774604e8868c1a286b2235433829a46ebe92))
22+
323
## 0.2.0 (2026-04-01)
424

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

README.md

Lines changed: 28 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,8 @@
22

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

5-
[![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.2.0)
6-
[![javadoc](https://javadoc.io/badge2/com.x_twitter_scraper.api/x-twitter-scraper-java/0.2.0/javadoc.svg)](https://javadoc.io/doc/com.x_twitter_scraper.api/x-twitter-scraper-java/0.2.0)
5+
[![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)
6+
[![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)
77

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

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

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

18-
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.2.0).
18+
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).
1919

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

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

2828
```kotlin
29-
implementation("com.x_twitter_scraper.api:x-twitter-scraper-java:0.2.0")
29+
implementation("com.x_twitter_scraper.api:x-twitter-scraper-java:0.3.0")
3030
```
3131

3232
### Maven
@@ -35,7 +35,7 @@ implementation("com.x_twitter_scraper.api:x-twitter-scraper-java:0.2.0")
3535
<dependency>
3636
<groupId>com.x_twitter_scraper.api</groupId>
3737
<artifactId>x-twitter-scraper-java</artifactId>
38-
<version>0.2.0</version>
38+
<version>0.3.0</version>
3939
</dependency>
4040
```
4141

@@ -50,8 +50,8 @@ This library requires Java 8 or later.
5050
```java
5151
import com.x_twitter_scraper.api.client.XTwitterScraperClient;
5252
import com.x_twitter_scraper.api.client.okhttp.XTwitterScraperOkHttpClient;
53+
import com.x_twitter_scraper.api.models.PaginatedTweets;
5354
import com.x_twitter_scraper.api.models.x.tweets.TweetSearchParams;
54-
import com.x_twitter_scraper.api.models.x.tweets.TweetSearchResponse;
5555

5656
// Configures using the `xtwitterscraper.apiKey`, `xtwitterscraper.bearerToken` and `xtwitterscraper.baseUrl` system properties
5757
// Or configures using the `X_TWITTER_SCRAPER_API_KEY`, `X_TWITTER_SCRAPER_BEARER_TOKEN` and `X_TWITTER_SCRAPER_BASE_URL` environment variables
@@ -61,7 +61,7 @@ TweetSearchParams params = TweetSearchParams.builder()
6161
.q("from:elonmusk")
6262
.limit(10L)
6363
.build();
64-
TweetSearchResponse response = client.x().tweets().search(params);
64+
PaginatedTweets paginatedTweets = client.x().tweets().search(params);
6565
```
6666

6767
## Client configuration
@@ -136,7 +136,7 @@ The `withOptions()` method does not affect the original client or service.
136136

137137
To send a request to the X Twitter Scraper API, build an instance of some `Params` class and pass it to the corresponding client method. When the response is received, it will be deserialized into an instance of a Java class.
138138

139-
For example, `client.x().tweets().search(...)` should be called with an instance of `TweetSearchParams`, and it will return an instance of `TweetSearchResponse`.
139+
For example, `client.x().tweets().search(...)` should be called with an instance of `TweetSearchParams`, and it will return an instance of `PaginatedTweets`.
140140

141141
## Immutability
142142

@@ -153,8 +153,8 @@ The default client is synchronous. To switch to asynchronous execution, call the
153153
```java
154154
import com.x_twitter_scraper.api.client.XTwitterScraperClient;
155155
import com.x_twitter_scraper.api.client.okhttp.XTwitterScraperOkHttpClient;
156+
import com.x_twitter_scraper.api.models.PaginatedTweets;
156157
import com.x_twitter_scraper.api.models.x.tweets.TweetSearchParams;
157-
import com.x_twitter_scraper.api.models.x.tweets.TweetSearchResponse;
158158
import java.util.concurrent.CompletableFuture;
159159

160160
// Configures using the `xtwitterscraper.apiKey`, `xtwitterscraper.bearerToken` and `xtwitterscraper.baseUrl` system properties
@@ -165,16 +165,16 @@ TweetSearchParams params = TweetSearchParams.builder()
165165
.q("from:elonmusk")
166166
.limit(10L)
167167
.build();
168-
CompletableFuture<TweetSearchResponse> response = client.async().x().tweets().search(params);
168+
CompletableFuture<PaginatedTweets> paginatedTweets = client.async().x().tweets().search(params);
169169
```
170170

171171
Or create an asynchronous client from the beginning:
172172

173173
```java
174174
import com.x_twitter_scraper.api.client.XTwitterScraperClientAsync;
175175
import com.x_twitter_scraper.api.client.okhttp.XTwitterScraperOkHttpClientAsync;
176+
import com.x_twitter_scraper.api.models.PaginatedTweets;
176177
import com.x_twitter_scraper.api.models.x.tweets.TweetSearchParams;
177-
import com.x_twitter_scraper.api.models.x.tweets.TweetSearchResponse;
178178
import java.util.concurrent.CompletableFuture;
179179

180180
// Configures using the `xtwitterscraper.apiKey`, `xtwitterscraper.bearerToken` and `xtwitterscraper.baseUrl` system properties
@@ -185,7 +185,7 @@ TweetSearchParams params = TweetSearchParams.builder()
185185
.q("from:elonmusk")
186186
.limit(10L)
187187
.build();
188-
CompletableFuture<TweetSearchResponse> response = client.x().tweets().search(params);
188+
CompletableFuture<PaginatedTweets> paginatedTweets = client.x().tweets().search(params);
189189
```
190190

191191
The asynchronous client supports the same options as the synchronous one, except most methods return `CompletableFuture`s.
@@ -202,7 +202,7 @@ import com.x_twitter_scraper.api.models.x.media.MediaUploadResponse;
202202
import java.nio.file.Paths;
203203

204204
MediaUploadParams params = MediaUploadParams.builder()
205-
.account("account")
205+
.account("@elonmusk")
206206
.file(Paths.get("/path/to/file"))
207207
.build();
208208
MediaUploadResponse response = client.x().media().upload(params);
@@ -216,7 +216,7 @@ import com.x_twitter_scraper.api.models.x.media.MediaUploadResponse;
216216
import java.net.URL;
217217

218218
MediaUploadParams params = MediaUploadParams.builder()
219-
.account("account")
219+
.account("@elonmusk")
220220
.file(new URL("https://example.com//path/to/file").openStream())
221221
.build();
222222
MediaUploadResponse response = client.x().media().upload(params);
@@ -229,7 +229,7 @@ import com.x_twitter_scraper.api.models.x.media.MediaUploadParams;
229229
import com.x_twitter_scraper.api.models.x.media.MediaUploadResponse;
230230

231231
MediaUploadParams params = MediaUploadParams.builder()
232-
.account("account")
232+
.account("@elonmusk")
233233
.file("content".getBytes())
234234
.build();
235235
MediaUploadResponse response = client.x().media().upload(params);
@@ -245,7 +245,7 @@ import java.io.InputStream;
245245
import java.net.URL;
246246

247247
MediaUploadParams params = MediaUploadParams.builder()
248-
.account("account")
248+
.account("@elonmusk")
249249
.file(MultipartField.<InputStream>builder()
250250
.value(new URL("https://example.com//path/to/file").openStream())
251251
.filename("/path/to/file")
@@ -311,25 +311,25 @@ To access this data, prefix any HTTP method call on a client or service with `wi
311311
```java
312312
import com.x_twitter_scraper.api.core.http.Headers;
313313
import com.x_twitter_scraper.api.core.http.HttpResponseFor;
314+
import com.x_twitter_scraper.api.models.PaginatedTweets;
314315
import com.x_twitter_scraper.api.models.x.tweets.TweetSearchParams;
315-
import com.x_twitter_scraper.api.models.x.tweets.TweetSearchResponse;
316316

317317
TweetSearchParams params = TweetSearchParams.builder()
318318
.q("from:elonmusk")
319319
.limit(10L)
320320
.build();
321-
HttpResponseFor<TweetSearchResponse> response = client.x().tweets().withRawResponse().search(params);
321+
HttpResponseFor<PaginatedTweets> paginatedTweets = client.x().tweets().withRawResponse().search(params);
322322

323-
int statusCode = response.statusCode();
324-
Headers headers = response.headers();
323+
int statusCode = paginatedTweets.statusCode();
324+
Headers headers = paginatedTweets.headers();
325325
```
326326

327327
You can still deserialize the response into an instance of a Java class if needed:
328328

329329
```java
330-
import com.x_twitter_scraper.api.models.x.tweets.TweetSearchResponse;
330+
import com.x_twitter_scraper.api.models.PaginatedTweets;
331331

332-
TweetSearchResponse parsedResponse = response.parse();
332+
PaginatedTweets parsedPaginatedTweets = paginatedTweets.parse();
333333
```
334334

335335
## Error handling
@@ -427,9 +427,9 @@ Requests time out after 1 minute by default.
427427
To set a custom timeout, configure the method call using the `timeout` method:
428428

429429
```java
430-
import com.x_twitter_scraper.api.models.x.tweets.TweetSearchResponse;
430+
import com.x_twitter_scraper.api.models.PaginatedTweets;
431431

432-
TweetSearchResponse response = client.x().tweets().search(
432+
PaginatedTweets paginatedTweets = client.x().tweets().search(
433433
params, RequestOptions.builder().timeout(Duration.ofSeconds(30)).build()
434434
);
435435
```
@@ -705,17 +705,17 @@ By default, the SDK will not throw an exception in this case. It will throw [`XT
705705
If you would prefer to check that the response is completely well-typed upfront, then either call `validate()`:
706706

707707
```java
708-
import com.x_twitter_scraper.api.models.x.tweets.TweetSearchResponse;
708+
import com.x_twitter_scraper.api.models.PaginatedTweets;
709709

710-
TweetSearchResponse response = client.x().tweets().search(params).validate();
710+
PaginatedTweets paginatedTweets = client.x().tweets().search(params).validate();
711711
```
712712

713713
Or configure the method call to validate the response using the `responseValidation` method:
714714

715715
```java
716-
import com.x_twitter_scraper.api.models.x.tweets.TweetSearchResponse;
716+
import com.x_twitter_scraper.api.models.PaginatedTweets;
717717

718-
TweetSearchResponse response = client.x().tweets().search(
718+
PaginatedTweets paginatedTweets = client.x().tweets().search(
719719
params, RequestOptions.builder().responseValidation(true).build()
720720
);
721721
```

build.gradle.kts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ repositories {
88

99
allprojects {
1010
group = "com.x_twitter_scraper.api"
11-
version = "0.2.0" // x-release-please-version
11+
version = "0.3.0" // x-release-please-version
1212
}
1313

1414
subprojects {

buildSrc/src/main/kotlin/x-twitter-scraper.publish.gradle.kts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ configure<MavenPublishBaseExtension> {
4343

4444
pom {
4545
name.set("Xquik API")
46-
description.set("X real-time data platform — extractions, giveaway draws, monitoring, webhooks.")
46+
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.")
4747
url.set("https://xquik.com")
4848

4949
licenses {

x-twitter-scraper-java-core/src/main/kotlin/com/x_twitter_scraper/api/models/Error.kt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ import java.util.Collections
1717
import java.util.Objects
1818
import kotlin.jvm.optionals.getOrNull
1919

20+
/** Error response containing a machine-readable error code. */
2021
class Error
2122
@JsonCreator(mode = JsonCreator.Mode.DISABLED)
2223
private constructor(

x-twitter-scraper-java-core/src/main/kotlin/com/x_twitter_scraper/api/models/EventType.kt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ import com.x_twitter_scraper.api.core.Enum
77
import com.x_twitter_scraper.api.core.JsonField
88
import com.x_twitter_scraper.api.errors.XTwitterScraperInvalidDataException
99

10+
/** Type of monitor event fired when account activity occurs. */
1011
class EventType @JsonCreator private constructor(private val value: JsonField<String>) : Enum {
1112

1213
/**

0 commit comments

Comments
 (0)