Skip to content
Closed
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
The table of contents is too big for display.
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"
}
6 changes: 3 additions & 3 deletions .stats.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
configured_endpoints: 115
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/xquik%2Fx-twitter-scraper-93bb7d4f1475c8043af464ec88244a034456c549136c8477f284f0a33192e1c9.yml
openapi_spec_hash: 74dca63c872249274ad99b111dea0833
configured_endpoints: 102
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/xquik%2Fx-twitter-scraper-ec9b23603f987503f8837da5992b5db4c59a2bc627b090557539791a2b2b64a5.yml
openapi_spec_hash: faf6a6deaadba884a07e970fd05ac570
config_hash: 8894c96caeb6df84c9394518810221bd
17 changes: 17 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,22 @@
# Changelog

## 0.4.0 (2026-04-08)

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

### Features

* **api:** api update ([f9c02a4](https://github.com/Xquik-dev/x-twitter-scraper-ruby/commit/f9c02a49240130a307fcbd1cfbcfaf999966fb06))
* **api:** api update ([89e3ff5](https://github.com/Xquik-dev/x-twitter-scraper-ruby/commit/89e3ff5905185e6223233618819d6dc87a2e87d7))
* **api:** api update ([dbe6467](https://github.com/Xquik-dev/x-twitter-scraper-ruby/commit/dbe6467a33987dcd3a65b78bfefca13b5123ae63))
* **api:** api update ([279a416](https://github.com/Xquik-dev/x-twitter-scraper-ruby/commit/279a416215ad266661cac5edd02e821e2f701d60))


### Bug Fixes

* **ci:** pin rubygems/configure-rubygems-credentials to v1.0.0 ([7d2cde5](https://github.com/Xquik-dev/x-twitter-scraper-ruby/commit/7d2cde520114bba9680b2c98fbe699f75f9b5c04))
* set homepage to docs.xquik.com, add documentation_uri to gemdocs ([0f8e806](https://github.com/Xquik-dev/x-twitter-scraper-ruby/commit/0f8e806ff20df4700054a7df0e17aa89e2da4859))

## 0.3.0 (2026-04-01)

Full Changelog: [v0.2.0...v0.3.0](https://github.com/Xquik-dev/x-twitter-scraper-ruby/compare/v0.2.0...v0.3.0)
Expand Down
2 changes: 1 addition & 1 deletion Gemfile.lock
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ GIT
PATH
remote: .
specs:
x-twitter-scraper (0.3.0)
x-twitter-scraper (0.4.0)
cgi
connection_pool

Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ To use this gem, install via Bundler by adding the following to your application
<!-- x-release-please-start-version -->

```ruby
gem "x-twitter-scraper", "~> 0.3.0"
gem "x-twitter-scraper", "~> 0.4.0"
```

<!-- x-release-please-end -->
Expand Down
40 changes: 15 additions & 25 deletions lib/x_twitter_scraper.rb
Original file line number Diff line number Diff line change
Expand Up @@ -144,17 +144,10 @@
require_relative "x_twitter_scraper/models/style_analyze_response"
require_relative "x_twitter_scraper/models/style_compare_params"
require_relative "x_twitter_scraper/models/style_compare_response"
require_relative "x_twitter_scraper/models/style_delete_params"
require_relative "x_twitter_scraper/models/style_get_performance_params"
require_relative "x_twitter_scraper/models/style_get_performance_response"
require_relative "x_twitter_scraper/models/style_list_params"
require_relative "x_twitter_scraper/models/style_list_response"
require_relative "x_twitter_scraper/models/style_profile"
require_relative "x_twitter_scraper/models/style_profile_summary"
require_relative "x_twitter_scraper/models/style_retrieve_params"
require_relative "x_twitter_scraper/models/style_retrieve_response"
require_relative "x_twitter_scraper/models/style_update_params"
require_relative "x_twitter_scraper/models/style_update_response"
require_relative "x_twitter_scraper/models/subscribe_create_params"
require_relative "x_twitter_scraper/models/subscribe_create_response"
require_relative "x_twitter_scraper/models/support/ticket_create_params"
Expand Down Expand Up @@ -202,6 +195,7 @@
require_relative "x_twitter_scraper/models/x/communities/join_delete_all_params"
require_relative "x_twitter_scraper/models/x/communities/join_delete_all_response"
require_relative "x_twitter_scraper/models/x/communities/tweet_list_params"
require_relative "x_twitter_scraper/models/x/communities/tweet_list_response"
require_relative "x_twitter_scraper/models/x/community_action_result"
require_relative "x_twitter_scraper/models/x/community_create_params"
require_relative "x_twitter_scraper/models/x/community_create_response"
Expand All @@ -210,17 +204,23 @@
require_relative "x_twitter_scraper/models/x/community_retrieve_info_params"
require_relative "x_twitter_scraper/models/x/community_retrieve_info_response"
require_relative "x_twitter_scraper/models/x/community_retrieve_members_params"
require_relative "x_twitter_scraper/models/x/community_retrieve_members_response"
require_relative "x_twitter_scraper/models/x/community_retrieve_moderators_params"
require_relative "x_twitter_scraper/models/x/community_retrieve_moderators_response"
require_relative "x_twitter_scraper/models/x/community_retrieve_search_params"
require_relative "x_twitter_scraper/models/x/community_retrieve_search_response"
require_relative "x_twitter_scraper/models/x/dm_retrieve_history_params"
require_relative "x_twitter_scraper/models/x/dm_retrieve_history_response"
require_relative "x_twitter_scraper/models/x/dm_send_params"
require_relative "x_twitter_scraper/models/x/dm_send_response"
require_relative "x_twitter_scraper/models/x/follower_check_params"
require_relative "x_twitter_scraper/models/x/follower_check_response"
require_relative "x_twitter_scraper/models/x/list_retrieve_followers_params"
require_relative "x_twitter_scraper/models/x/list_retrieve_followers_response"
require_relative "x_twitter_scraper/models/x/list_retrieve_members_params"
require_relative "x_twitter_scraper/models/x/list_retrieve_members_response"
require_relative "x_twitter_scraper/models/x/list_retrieve_tweets_params"
require_relative "x_twitter_scraper/models/x/list_retrieve_tweets_response"
require_relative "x_twitter_scraper/models/x/media_download_params"
require_relative "x_twitter_scraper/models/x/media_download_response"
require_relative "x_twitter_scraper/models/x/media_upload_params"
Expand All @@ -235,8 +235,6 @@
require_relative "x_twitter_scraper/models/x/tweet_author"
require_relative "x_twitter_scraper/models/x/tweet_create_params"
require_relative "x_twitter_scraper/models/x/tweet_create_response"
require_relative "x_twitter_scraper/models/x/tweet_delete_params"
require_relative "x_twitter_scraper/models/x/tweet_delete_response"
require_relative "x_twitter_scraper/models/x/tweet_detail"
require_relative "x_twitter_scraper/models/x/tweet_get_favoriters_params"
require_relative "x_twitter_scraper/models/x/tweet_get_favoriters_response"
Expand All @@ -249,39 +247,30 @@
require_relative "x_twitter_scraper/models/x/tweet_get_thread_params"
require_relative "x_twitter_scraper/models/x/tweet_get_thread_response"
require_relative "x_twitter_scraper/models/x/tweet_list_params"
require_relative "x_twitter_scraper/models/x/tweet_retrieve_params"
require_relative "x_twitter_scraper/models/x/tweet_retrieve_response"
require_relative "x_twitter_scraper/models/x/tweets/like_create_params"
require_relative "x_twitter_scraper/models/x/tweets/like_create_response"
require_relative "x_twitter_scraper/models/x/tweets/like_delete_params"
require_relative "x_twitter_scraper/models/x/tweets/like_delete_response"
require_relative "x_twitter_scraper/models/x/tweets/retweet_create_params"
require_relative "x_twitter_scraper/models/x/tweets/retweet_create_response"
require_relative "x_twitter_scraper/models/x/tweets/retweet_delete_params"
require_relative "x_twitter_scraper/models/x/tweets/retweet_delete_response"
require_relative "x_twitter_scraper/models/x/tweet_list_response"
require_relative "x_twitter_scraper/models/x/tweet_search_params"
require_relative "x_twitter_scraper/models/x/tweet_search_response"
require_relative "x_twitter_scraper/models/x/user_profile"
require_relative "x_twitter_scraper/models/x/user_retrieve_batch_params"
require_relative "x_twitter_scraper/models/x/user_retrieve_batch_response"
require_relative "x_twitter_scraper/models/x/user_retrieve_followers_params"
require_relative "x_twitter_scraper/models/x/user_retrieve_followers_response"
require_relative "x_twitter_scraper/models/x/user_retrieve_followers_you_know_params"
require_relative "x_twitter_scraper/models/x/user_retrieve_followers_you_know_response"
require_relative "x_twitter_scraper/models/x/user_retrieve_following_params"
require_relative "x_twitter_scraper/models/x/user_retrieve_following_response"
require_relative "x_twitter_scraper/models/x/user_retrieve_likes_params"
require_relative "x_twitter_scraper/models/x/user_retrieve_likes_response"
require_relative "x_twitter_scraper/models/x/user_retrieve_media_params"
require_relative "x_twitter_scraper/models/x/user_retrieve_media_response"
require_relative "x_twitter_scraper/models/x/user_retrieve_mentions_params"
require_relative "x_twitter_scraper/models/x/user_retrieve_params"
require_relative "x_twitter_scraper/models/x/user_retrieve_response"
require_relative "x_twitter_scraper/models/x/user_retrieve_mentions_response"
require_relative "x_twitter_scraper/models/x/user_retrieve_search_params"
require_relative "x_twitter_scraper/models/x/user_retrieve_search_response"
require_relative "x_twitter_scraper/models/x/user_retrieve_tweets_params"
require_relative "x_twitter_scraper/models/x/user_retrieve_tweets_response"
require_relative "x_twitter_scraper/models/x/user_retrieve_verified_followers_params"
require_relative "x_twitter_scraper/models/x/users/follow_create_params"
require_relative "x_twitter_scraper/models/x/users/follow_create_response"
require_relative "x_twitter_scraper/models/x/users/follow_delete_all_params"
require_relative "x_twitter_scraper/models/x/users/follow_delete_all_response"
require_relative "x_twitter_scraper/models/x/user_retrieve_verified_followers_response"
require_relative "x_twitter_scraper/models/x/x_account"
require_relative "x_twitter_scraper/models/x/x_account_detail"
require_relative "x_twitter_scraper/models/x_get_article_params"
Expand All @@ -291,6 +280,7 @@
require_relative "x_twitter_scraper/models/x_get_notifications_params"
require_relative "x_twitter_scraper/models/x_get_notifications_response"
require_relative "x_twitter_scraper/models/x_get_trends_params"
require_relative "x_twitter_scraper/models/x_get_trends_response"
require_relative "x_twitter_scraper/models"
require_relative "x_twitter_scraper/resources/account"
require_relative "x_twitter_scraper/resources/api_keys"
Expand Down
8 changes: 0 additions & 8 deletions lib/x_twitter_scraper/models.rb
Original file line number Diff line number Diff line change
Expand Up @@ -154,20 +154,12 @@ module XTwitterScraper

StyleCompareParams = XTwitterScraper::Models::StyleCompareParams

StyleDeleteParams = XTwitterScraper::Models::StyleDeleteParams

StyleGetPerformanceParams = XTwitterScraper::Models::StyleGetPerformanceParams

StyleListParams = XTwitterScraper::Models::StyleListParams

StyleProfile = XTwitterScraper::Models::StyleProfile

StyleProfileSummary = XTwitterScraper::Models::StyleProfileSummary

StyleRetrieveParams = XTwitterScraper::Models::StyleRetrieveParams

StyleUpdateParams = XTwitterScraper::Models::StyleUpdateParams

SubscribeCreateParams = XTwitterScraper::Models::SubscribeCreateParams

Support = XTwitterScraper::Models::Support
Expand Down
2 changes: 2 additions & 0 deletions lib/x_twitter_scraper/models/api_key.rb
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,8 @@ class APIKey < XTwitterScraper::Internal::Type::BaseModel
optional :last_used_at, Time, api_name: :lastUsedAt

# @!method initialize(id:, created_at:, is_active:, name:, prefix:, last_used_at: nil)
# API key metadata returned when listing keys.
#
# @param id [String]
# @param created_at [Time]
# @param is_active [Boolean]
Expand Down
2 changes: 2 additions & 0 deletions lib/x_twitter_scraper/models/api_key_list_response.rb
Original file line number Diff line number Diff line change
Expand Up @@ -45,6 +45,8 @@ class Key < XTwitterScraper::Internal::Type::BaseModel
optional :last_used_at, Time, api_name: :lastUsedAt

# @!method initialize(id:, created_at:, is_active:, name:, prefix:, last_used_at: nil)
# API key metadata returned when listing keys.
#
# @param id [String]
# @param created_at [Time]
# @param is_active [Boolean]
Expand Down
2 changes: 2 additions & 0 deletions lib/x_twitter_scraper/models/delivery.rb
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,8 @@ class Delivery < XTwitterScraper::Internal::Type::BaseModel
optional :last_status_code, Integer, api_name: :lastStatusCode

# @!method initialize(id:, attempts:, created_at:, status:, stream_event_id:, delivered_at: nil, last_error: nil, last_status_code: nil)
# Webhook delivery attempt record with status and retry count.
#
# @param id [String]
# @param attempts [Integer]
# @param created_at [Time]
Expand Down
2 changes: 2 additions & 0 deletions lib/x_twitter_scraper/models/draft.rb
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,8 @@ class Draft < XTwitterScraper::Internal::Type::BaseModel
optional :topic, String

# @!method initialize(id:, created_at:, text:, goal: nil, topic: nil)
# Saved tweet draft with optional topic and goal.
#
# @param id [String]
# @param created_at [Time]
# @param text [String]
Expand Down
2 changes: 2 additions & 0 deletions lib/x_twitter_scraper/models/draft_create_response.rb
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,8 @@ class DraftCreateResponse < XTwitterScraper::Internal::Type::BaseModel
optional :topic, String

# @!method initialize(id:, created_at:, text:, updated_at:, goal: nil, topic: nil)
# Full tweet draft including update timestamp.
#
# @param id [String]
# @param created_at [Time]
# @param text [String]
Expand Down
2 changes: 2 additions & 0 deletions lib/x_twitter_scraper/models/draft_detail.rb
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,8 @@ class DraftDetail < XTwitterScraper::Internal::Type::BaseModel
optional :topic, String

# @!method initialize(id:, created_at:, text:, updated_at:, goal: nil, topic: nil)
# Full tweet draft including update timestamp.
#
# @param id [String]
# @param created_at [Time]
# @param text [String]
Expand Down
3 changes: 2 additions & 1 deletion lib/x_twitter_scraper/models/draft_list_params.rb
Original file line number Diff line number Diff line change
Expand Up @@ -14,14 +14,15 @@ class DraftListParams < XTwitterScraper::Internal::Type::BaseModel
optional :after_cursor, String

# @!attribute limit
# Maximum number of items to return (1-100, default 50)
#
# @return [Integer, nil]
optional :limit, Integer

# @!method initialize(after_cursor: nil, limit: nil, request_options: {})
# @param after_cursor [String] Cursor for pagination
#
# @param limit [Integer]
# @param limit [Integer] Maximum number of items to return (1-100, default 50)
#
# @param request_options [XTwitterScraper::RequestOptions, Hash{Symbol=>Object}]
end
Expand Down
2 changes: 2 additions & 0 deletions lib/x_twitter_scraper/models/draft_list_response.rb
Original file line number Diff line number Diff line change
Expand Up @@ -52,6 +52,8 @@ class Draft < XTwitterScraper::Internal::Type::BaseModel
optional :topic, String

# @!method initialize(id:, created_at:, text:, goal: nil, topic: nil)
# Saved tweet draft with optional topic and goal.
#
# @param id [String]
# @param created_at [Time]
# @param text [String]
Expand Down
2 changes: 2 additions & 0 deletions lib/x_twitter_scraper/models/draft_retrieve_response.rb
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,8 @@ class DraftRetrieveResponse < XTwitterScraper::Internal::Type::BaseModel
optional :topic, String

# @!method initialize(id:, created_at:, text:, updated_at:, goal: nil, topic: nil)
# Full tweet draft including update timestamp.
#
# @param id [String]
# @param created_at [Time]
# @param text [String]
Expand Down
2 changes: 2 additions & 0 deletions lib/x_twitter_scraper/models/draw_detail.rb
Original file line number Diff line number Diff line change
Expand Up @@ -74,6 +74,8 @@ class DrawDetail < XTwitterScraper::Internal::Type::BaseModel
optional :drawn_at, Time, api_name: :drawnAt

# @!method initialize(id:, created_at:, status:, total_entries:, tweet_author_username:, tweet_id:, tweet_like_count:, tweet_quote_count:, tweet_reply_count:, tweet_retweet_count:, tweet_text:, tweet_url:, valid_entries:, drawn_at: nil)
# Full giveaway draw with tweet metrics, entries, and timing.
#
# @param id [String]
# @param created_at [Time]
# @param status [String]
Expand Down
4 changes: 3 additions & 1 deletion lib/x_twitter_scraper/models/draw_export_params.rb
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@ class DrawExportParams < XTwitterScraper::Internal::Type::BaseModel
required :id, String

# @!attribute format_
# Export output format
#
# @return [Symbol, XTwitterScraper::Models::DrawExportParams::Format, nil]
optional :format_, enum: -> { XTwitterScraper::DrawExportParams::Format }
Expand All @@ -26,12 +27,13 @@ class DrawExportParams < XTwitterScraper::Internal::Type::BaseModel
# @!method initialize(id:, format_: nil, type: nil, request_options: {})
# @param id [String]
#
# @param format_ [Symbol, XTwitterScraper::Models::DrawExportParams::Format]
# @param format_ [Symbol, XTwitterScraper::Models::DrawExportParams::Format] Export output format
#
# @param type [Symbol, XTwitterScraper::Models::DrawExportParams::Type] Export winners or all entries
#
# @param request_options [XTwitterScraper::RequestOptions, Hash{Symbol=>Object}]

# Export output format
module Format
extend XTwitterScraper::Internal::Type::Enum

Expand Down
2 changes: 2 additions & 0 deletions lib/x_twitter_scraper/models/draw_list_item.rb
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,8 @@ class DrawListItem < XTwitterScraper::Internal::Type::BaseModel
optional :drawn_at, Time, api_name: :drawnAt

# @!method initialize(id:, created_at:, status:, total_entries:, tweet_url:, valid_entries:, drawn_at: nil)
# Giveaway draw summary with entry counts and status.
#
# @param id [String]
# @param created_at [Time]
# @param status [String]
Expand Down
7 changes: 4 additions & 3 deletions lib/x_twitter_scraper/models/draw_list_params.rb
Original file line number Diff line number Diff line change
Expand Up @@ -8,20 +8,21 @@ class DrawListParams < XTwitterScraper::Internal::Type::BaseModel
include XTwitterScraper::Internal::Type::RequestParameters

# @!attribute after
# Cursor for pagination
# Cursor for keyset pagination
#
# @return [String, nil]
optional :after, String

# @!attribute limit
# Maximum number of items to return (1-100, default 50)
#
# @return [Integer, nil]
optional :limit, Integer

# @!method initialize(after: nil, limit: nil, request_options: {})
# @param after [String] Cursor for pagination
# @param after [String] Cursor for keyset pagination
#
# @param limit [Integer]
# @param limit [Integer] Maximum number of items to return (1-100, default 50)
#
# @param request_options [XTwitterScraper::RequestOptions, Hash{Symbol=>Object}]
end
Expand Down
2 changes: 2 additions & 0 deletions lib/x_twitter_scraper/models/draw_list_response.rb
Original file line number Diff line number Diff line change
Expand Up @@ -62,6 +62,8 @@ class Draw < XTwitterScraper::Internal::Type::BaseModel
optional :drawn_at, Time, api_name: :drawnAt

# @!method initialize(id:, created_at:, status:, total_entries:, tweet_url:, valid_entries:, drawn_at: nil)
# Giveaway draw summary with entry counts and status.
#
# @param id [String]
# @param created_at [Time]
# @param status [String]
Expand Down
8 changes: 7 additions & 1 deletion lib/x_twitter_scraper/models/draw_retrieve_response.rb
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ module Models
# @see XTwitterScraper::Resources::Draws#retrieve
class DrawRetrieveResponse < XTwitterScraper::Internal::Type::BaseModel
# @!attribute draw
# Full giveaway draw with tweet metrics, entries, and timing.
#
# @return [XTwitterScraper::Models::DrawRetrieveResponse::Draw]
required :draw, -> { XTwitterScraper::Models::DrawRetrieveResponse::Draw }
Expand All @@ -16,7 +17,8 @@ class DrawRetrieveResponse < XTwitterScraper::Internal::Type::BaseModel
-> { XTwitterScraper::Internal::Type::ArrayOf[XTwitterScraper::Models::DrawRetrieveResponse::Winner] }

# @!method initialize(draw:, winners:)
# @param draw [XTwitterScraper::Models::DrawRetrieveResponse::Draw]
# @param draw [XTwitterScraper::Models::DrawRetrieveResponse::Draw] Full giveaway draw with tweet metrics, entries, and timing.
#
# @param winners [Array<XTwitterScraper::Models::DrawRetrieveResponse::Winner>]

# @see XTwitterScraper::Models::DrawRetrieveResponse#draw
Expand Down Expand Up @@ -92,6 +94,8 @@ class Draw < XTwitterScraper::Internal::Type::BaseModel
optional :drawn_at, Time, api_name: :drawnAt

# @!method initialize(id:, created_at:, status:, total_entries:, tweet_author_username:, tweet_id:, tweet_like_count:, tweet_quote_count:, tweet_reply_count:, tweet_retweet_count:, tweet_text:, tweet_url:, valid_entries:, drawn_at: nil)
# Full giveaway draw with tweet metrics, entries, and timing.
#
# @param id [String]
# @param created_at [Time]
# @param status [String]
Expand Down Expand Up @@ -130,6 +134,8 @@ class Winner < XTwitterScraper::Internal::Type::BaseModel
required :tweet_id, String, api_name: :tweetId

# @!method initialize(author_username:, is_backup:, position:, tweet_id:)
# Giveaway draw winner with position and backup flag.
#
# @param author_username [String]
# @param is_backup [Boolean]
# @param position [Integer]
Expand Down
Loading
Loading